可以通过Page对象的Server属性来获取相对应的Server对象,即Page.Server。
Server.Transfer("Login.aspx");这是在实例中Server对象Transfer方法的简单应用。
Session对象派生自HttpSession类,每个连接用户都拥有一个自己的Session对象,这个Session对象用于在该用户访问的各页面之间传递信息,即Session是同一连接所有网页的共用对象。在本例中Session对象的Contents属性记录的是用户的ID,在Login.aspx页面中开始加载记录:Session.Add("strUserID",userId);到用户注销退出系统调用Session对象的Clear方法清除Contents属性的变量:Session.Clear()。
Application对象是让在同一个应用内的多个用户共享信息,并在服务器运行期间持久地保存数据。该对象在网站上应用最广的就是记录本网站的信息,如访问人数,在线人数等。
由此可见Application对象和Session对象是差不多的,都是ASP.NET文件公用的对象,所不同的是所有用户连接的是同一个Application对象,而每个连接的用户都拥有各自的Session对象,有多少用户就会有多少的Session对象,而Application对象只有一个。
2.2.2页面控件的应用
在ASP.NET中,基于服务器控件的思想已日趋的成熟,具有很好的可操作性、灵活性和扩展性。ASP.NET中可以使用的大多数控件都不需要在ASPX页面中嵌入很多的代码,只需将需要的控件拖入ASPX页面中,在添加几个属性,就可以让很多控件实现服务器端的功能。这些控件是被封装的,复杂的用户接口设计被隐藏在后台,开发人员无需关心这些控件的实现,只需要按照指定的方式添加一些代码就可以使用控件。然后可以通过编程的方式访问控件,以定义控件的外观,对事件的处理等。在ASP.NET中有HTML控件、WEB服务器控件和用户自定义控件3大类控件。下面是用户自定义控件和页面验证控件的应用。
ASP.NET服务器控件已经提供了大量的功能,但是它们并不能包涵每一种情况。程序员往往希望将多个服务器控件封装成单个控件,而后在以后的站点中重用这些控件。用户控件是封装到可复用控件中的WEB窗体,在ASP.NET开发初期叫做Pagelet,它是除Code-Behind技术之外的另外一种将代码和内容分离、实现代码重用的技术。Code-Behind可以让多个不同页面的代码从同一基类派生出来,从而具有相似的行为。而用户控件不仅可以重用代码,还可以重用部分用户界面。用户控件和服务器控件一样,有自己的属性和事件,它的扩展名为.ascs。
上图所示的是个用户控件(Header.ascx),是由7个Hyperlink服务器控件、1个Label服务器控件和事件组成的。其事件的代码为:
PublicabstractclassHeader:System.Web.UI.UserControl
{
ProtectedSystem.Web.UI.WebControls.LabelWelcomeUserLabel;
PublicHeader(){
this.Init+=newSystem.EventHandler(Page_Init);
}
PrivatevoidPage_Init(objectsender,EventArgse){
InitializeComponent();
if(Request.Cookies["IStore_UserName"]!=null){
WelcomeUserLabel.Text=Request.Cookies["IStore_UserName"].Value;
}
}
这个用户控件在每一页面里都有使用,事件是显示用户欢迎信息,当用户登陆时显示:XX欢迎你!
另外在本例中还有3个用户控件:PopularGoods.ascx、Menu.ascx和bottom.ascx。
WEB网站程序中数据验证是一个必要的过程,也是一个比较烦琐的过程,程序员必须花大量时间来验证用户的每一个输入是否合法,如果用脚本语言来实现验证的话就加大了程序员的工作量,在ASP.NET中,开发人员不但可以轻松地实现对用户输入的验证,而且还可以选择验证在服务器端进行还是在客户端进行,这样就降低了开发人员的工作量,同时也降低了开发难度。验证控件提供功能强大的方法来检查WebFrom输入中的错误,可以在必要的时候向用户显示消息。和其他的服务器控件一样,验证控件可以通过被拖放添加到WebFrom页面上,验证的对象包括大部分的Web服务器控件及HTML控件。验证控件一共有6种,用于特定的验证类型,比如进行范围检查或模式匹配,或者确保输入不能为空等。6种验证控件为:Requiredfieldvalidator、CompareValidator、R