现在从对ASP.NET页面的执行顺序开始,体会一下B/S结构的程序的特点,下图是ASP.NET页面的执行顺序说明:
Page_Init(页面初始化引发的事件)——>Page_Load(加载页面时引发的事件)——>Control Event(服务器控件引发的事件)——>Page_UnLoad(页面从内存中卸载时引发的事件)
Page_Init和Page_UnLoad不常用,但是这里还是要说明一下。Page_Init和Page_Load事件区别在于,只有后者才能完全加载控件,绑定数据,虽然你可以在Page_Init中访问控件,但是其viewstate都不会被加载,所以此时控件中只拥有默认值。
这里说到了viewstate,我们先来做一个大致的了解——其实在ASP.NET中有两个viewstate。一个是控件本身的,用来维护控件自己的一些状态,比如说某个空间有变色的功能,它的viewstate就维护这个功能,这个viewstate是不能被用户访问的。相信自己写过控件的朋友都会有这样的感觉,自己写控件当然也要用自己的一个viewstate来维护这个控件的状态;而另外一个viewstate,是用户使用的,这个viewstate和Session几乎一模一样,必须要先对其进行定义,才能使用。
每当点击ASP.NET的Web网 ......
如果应用程序使用 ASP.NET 成员资格系统来对用户进行身份验证,则您可以使用 CreateUserWizard 控件来允许用户在成员资格系统中创建一个新的用户项(CreateUserWizard 控件还可以供管理员用来创建新用户)。
1、创建或编辑一个不需要权限的 ASP.NET 网页。
2、使用下面的语法在该页中放置一个 CreateUserWizard 控件:
<asp:CreateUserWizard ID="CreateUserWizard1" Runat="server">
</asp:CreateUserWizard>
3、将 ContinueDestinationPageUrl 属性设置为用户将在完成注册后访问的页(例如您的主页或成员页)的 URL。
......
您可以使用 LoginName 控件显示当前用户的名称。对于当前登录的用户,无论其标识是使用 ASP.NET 登录控件(及暗含的 ASP.NET 成员资格)还是使用集成 Windows 身份验证建立的,此控件都显示该用户的用户 ID。
使用下面的语法在页中放置一个 LoginName 控件:
<asp:LoginName id="LoginName1" runat="server"
FormatString ="Welcome, {0}" /> ......
为了使用户能够登录使用 ASP.NET 成员资格(Forms 身份验证)进行用户身份验证的 ASP.NET 应用程序,可以使用 LoginStatus 控件。LoginStatus 控件检测用户的身份验证状态。如果用户未经过身份验证,该控件将显示一个按钮,引导用户进入应用程序的登录页。如果用户已经过身份验证,LoginStatus 控件将显示一个按钮,用户可以单击该按钮来注销应用程序。
说明: 默认情况下,ASP.NET 成员资格和 Forms 身份验证配置为与名为 Login.aspx 的页一起使用。通过在应用程序的配置文件中设置 <forms> 元素的 loginUrl 属性,可以更改默认登录页的名称。
默认情况下,LoginStatus 会呈现一个按钮。通过设置 LoginText 属性可以配置按钮文本。此外,还可以对 LoginStatus 控件进行配置以显示图像(ImageButton 控件)。
一、向 ASP.NET 网页中添加登录按钮
1、向页中添加一个 LoginStatus 控件。
2、通过设置 LoginText 和 LogoutText 属性,自定义按钮上显示的文本。
二、添加登录或注销图像
1、向页中添加一个 LoginStatus 控件。
2、将 LoginImageUrl 和 LogoutImageUrl 分别设置为要作为登录图像和注销图像显示的图像的 URL。
3、或者,通过 ......
为了使用户能够登录使用 ASP.NET 成员资格(Forms 身份验证)进行用户身份验证的 ASP.NET 应用程序,可以使用 LoginStatus 控件。LoginStatus 控件检测用户的身份验证状态。如果用户未经过身份验证,该控件将显示一个按钮,引导用户进入应用程序的登录页。如果用户已经过身份验证,LoginStatus 控件将显示一个按钮,用户可以单击该按钮来注销应用程序。
说明: 默认情况下,ASP.NET 成员资格和 Forms 身份验证配置为与名为 Login.aspx 的页一起使用。通过在应用程序的配置文件中设置 <forms> 元素的 loginUrl 属性,可以更改默认登录页的名称。
默认情况下,LoginStatus 会呈现一个按钮。通过设置 LoginText 属性可以配置按钮文本。此外,还可以对 LoginStatus 控件进行配置以显示图像(ImageButton 控件)。
一、向 ASP.NET 网页中添加登录按钮
1、向页中添加一个 LoginStatus 控件。
2、通过设置 LoginText 和 LogoutText 属性,自定义按钮上显示的文本。
二、添加登录或注销图像
1、向页中添加一个 LoginStatus 控件。
2、将 LoginImageUrl 和 LogoutImageUrl 分别设置为要作为登录图像和注销图像显示的图像的 URL。
3、或者,通过 ......
可以使用 ASP.NET Login 控件创建登录页。此控件提取用户名和密码,并使用 ASP.NET 成员资格和 Forms 身份验证来验证用户的凭据并创建身份验证票证。
1、创建一个使用 ASP.NET 成员资格的 ASP.NET Web 应用程序。有关详细信息和示例,请参见配置 ASP.NET 应用程序以使用成员资格。
2、在名为 Login.aspx 的应用程序中创建一个 ASP.NET 网页。
说明: 默认情况下,ASP.NET Forms 身份验证配置为使用名为 Login.aspx 的页。您可以使用 LoginUrl 属性来更改应用程序的 Web.config 文件中的默认登录页名称。
3、向页面添加 Login 控件。
4、还可以选择将该控件的 DestinationPageUrl 属性设置为用户在登录之后将被重定向到的页的名称。如果不为 DestinationPageUrl 属性指定值,则用户在通过身份验证之后,将被重定向到最初请求的 URL。
下面的示例演示 Login 控件的标记:
<asp:Login
ID="Login1"
runat="server"
DestinationPageUrl="~/MembersHome.aspx">
</asp:Login> ......
可以使用 ASP.NET Login 控件创建登录页。此控件提取用户名和密码,并使用 ASP.NET 成员资格和 Forms 身份验证来验证用户的凭据并创建身份验证票证。
1、创建一个使用 ASP.NET 成员资格的 ASP.NET Web 应用程序。有关详细信息和示例,请参见配置 ASP.NET 应用程序以使用成员资格。
2、在名为 Login.aspx 的应用程序中创建一个 ASP.NET 网页。
说明: 默认情况下,ASP.NET Forms 身份验证配置为使用名为 Login.aspx 的页。您可以使用 LoginUrl 属性来更改应用程序的 Web.config 文件中的默认登录页名称。
3、向页面添加 Login 控件。
4、还可以选择将该控件的 DestinationPageUrl 属性设置为用户在登录之后将被重定向到的页的名称。如果不为 DestinationPageUrl 属性指定值,则用户在通过身份验证之后,将被重定向到最初请求的 URL。
下面的示例演示 Login 控件的标记:
<asp:Login
ID="Login1"
runat="server"
DestinationPageUrl="~/MembersHome.aspx">
</asp:Login> ......
通过在页上包含 LoginView 控件可以向匿名用户和登录(经过身份验证的)用户显示不同的信息。LoginView 控件包含两个模板:一个用于向匿名用户显示信息,另一个用于向登录用户显示信息。(还可以使用 RoleGroups 属性包含基于角色名称的模板。)该控件自动确定用户是否经过身份验证并呈现相应的模板。
1、在 ASP.NET 页的“设计”视图中,从“工具箱”的“登录”文件夹中将一个 LoginView 控件拖动到页上。
2、如果“LoginView 任务”面板未显示,则右击该控件并单击“显示智能标记”以显示“LoginView 任务”面板。 默认情况下,该控件显示 AnonymousTemplate。
3、添加应对未登录的用户可见的静态文本和控件,如用于用户登录、恢复密码或创建新用户 ID 的 Login 控件。
4、在“LoginView 任务”菜单中,从“视图”列表中选择 LoggedInTemplate。
5、添加应对经过身份验证的用户可见的静态文本和控件,如 FormatString 属性设置为欢迎消息的 LoginName 控件。
<asp:LoginView ID="LoginView1" Ru ......