egularExpressionValidator、RangeValidator、CustomValidator、ValidationSummary。
这是用户注册页面(Register.aspx),里面用到了3种验证控件:Requiredfieldvalidator、CompareValidator、RegularExpressionValidator。Requiredfieldvalidator这个控件一共使用了6次,用于确保用户的输入不会略过,只有用户输入才认为合法,验证控件的属性ControlToValidator用来指定验证控件的ID;CompareValidator用于将用户的输入与某个常数值或其他控件的值进行比较,本例中的是用于验证用户输入的2次密码是否一致;RegularExpressionValidator控件用于验证用户输入信息是否与某个正则表达式所定义的模式匹配,ValidatorExpression是正则表达式属性,可以通过选择指定的正则表达式。
数据绑定技术是ASP.NET中一种非常重要的技术,通常数据绑定技术用于在Web页面上显示数据,即把Web控件中用于显示的属性绑定到数据源来显示数据。此外,也可以使用数据绑定技术设置Web控件的其他属性,使之具有某种性质或者处于某种状态。ASP.NET的数据绑定技术是非常灵活的,数据源几乎可以是任意的,即可以是来自数据库、XML文档、其他控件信息,也可以是来自其他进程的信息或者计算的结果。在Web控件中具有DataSource属性的都可以进行数据绑定,这些控件主要包括:CheckBoxList,DropDownList,HTMLSelect,ListBox,RadioButtonList,Repeater,DataList和DataGrid等。在本例中使用到了2种控件:DataList和DataGrid。
DataList控件用于显示绑定在控件上的数据源中的数据,DataList控件没有固定的外型,在使用前需要编辑其模板,用户根据需要来设计自己想要的模板,还可以通过编辑其提供的样式生成器来生成各种样式。编辑外形后,在代码中将数据源绑定在DataList上,指定好在DataList中显示的字段名称,DataList就可以使用了。
'NavigateUrl='<%#"GoodsList.aspx?CategoryID="+DataBinder.Eval(Container.DataItem,"CategoryID")+"&selection="+Container.ItemIndex%>'runat="server"/>
DataBinder.Eval(Container.DataItem,"CategoryName")用于指定在DataList中显示"CategoryName"字段,NavigateUrl属性是用于显示选定的WEB页面。
这是Menu.ascx(用户自定义控件)中的一段,在后台代码中只要把数据库中GoodsCategory表CategoryName字段的数据填充到DataList中就可以了。另外在SearchResults.aspx,SearchResults.aspx等页面中也都使用到了DataList控件。
DataGrid控件以表格的形式显示数据,通过编辑DataGrid控件的属性就可以实现对其中显示数据进行选择、编辑、更新以及添加排序、分页等,在DataGrid控件中显示数据比较方便,只要把DataGrid控件绑定到一个数据源就可以显示数据。
privatevoidPage_Load(objectsender,System.EventArgse)
{
if(Page.IsPostBack==false){
IStore.IStoreDBOcart=newIStore.IStoreDBO();
StringcartId=cart.GetShoppingCartId();
MyDataGrid.DataSource=cart.DisplayShoppingCart(cartId);
MyDataGrid.DataBind();
TotalLbl.Text=String.Format("{0:c}",cart.ShoppingCartTotalCost(cartId));
}
}
其中自定义的GetShoppingCartId()方法获取用户的购物车ID,DisplayShoppingCart方法显示一个购物车的所包含的所有商品的列表。下图是在VS.NET中设计时的显示。
DataGrid控件在其他页面中也有应用,就不一一做说明了。
2.3ASP.NET开发工具
Microsoft的.NET平台是一个强调多语言间交互的通用运行环境。.NET的设计者设想以.NET平台作为绝大多数Windows应用的首选运行环境,但.NET更吸引了Web开发者的目光。2001年,ECMA通过了Microsoft提交的C#语言和CLI标准,这两个技术标准构成了.NET平台的基石,他们也于2003年成为了ISO的国际标准。
2002年,Microsoft正式发布.NETFramework和ViaualStudio.NET开发环境。早在.NET发布之前,就已经有许多Windows平台的Web开发者迫不及待地利用Beta版本开发Web应用了。这是因为,.NET平台及相关的开发环境不但为Web服务端应用提供了一个支持多种语言的、通用的运行平台,而且还引入了ASP.NET这样一种全新的Web开发技术。ASP.NET超越了ASP的局限,可以使用VB.NET、C#等编译型语言,支持WebF