`
isiqi
  • 浏览: 16051125 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ASP.NET - 如何:使用 ASP.NET Login 控件的高级功能

阅读更多

Login 控件是一种复合控件,提供了登录窗体的所有常用用户界面 (UI) 元素。该控件被模块化,可分别自定义每个部件。这些部件包括“用户名”和“密码”文本框、“提交”按钮、用于创建新用户的按钮、“记住我”复选框和用户的帮助信息。您可以通过定义新元素和重用默认组件来定义自己的登录控件用户界面。您还可以自定义 Login 控件的用户界面文本和外观(字体和颜色)。或者,可以通过应用 ASP.NET 主题或外观来更改 Login 控件的总体外观。

此外,您还可以利用 Login 控件的更多高级功能,如用户登录时是否将登录信息存储在浏览器的持久性 Cookie 中或者登录控件(在默认登录页以外的页上)是否可见。最后,您可以将登录控件转换为模板以完全控制控件的外观。

一、控制 Login 控件在用户登录时是否可见

1、将一个 Login 控件放在页上。

说明: 默认情况下,该控件配置为使用名为 Login.aspx 的登录页。您可以通过设置 FormsAuthentication 类的 LoginUrl 属性更改 Web.config 文件中登录页的名称。

2、如果希望只在用户未登录时显示 Login 控件(该控件将始终显示在由 LoginUrl 属性标识的登录页上),则将 VisibleWhenLoggedIn 属性设置为 false

二、控制是否将身份验证令牌存储在持久性 Cookie

1、如果希望控件显示“下次记住我”复选框,则将 DisplayRememberMe 属性设置为 true。如果用户在登录时选中“下次记住我”复选框,身份验证令牌将被存储在浏览器的持久性 Cookie 中。

2、如果希望在默认情况下选中“下次记住我”复选框,则将 RememberMeSet 属性设置为 true

3、如果希望将身份验证令牌存储在持久性 Cookie 中,而不为用户提供清除“下次记住我”复选框的选择,则将 RememberMeSet 属性设置为 true,并将 DisplayRememberMe 属性设置为 false。对于可以从供多个用户使用的公共计算机访问的站点,则不建议这样做,因为用户的持久性身份验证令牌可能被不必要的用户使用。

三、将帮助链接添加到 Login 控件

1、若要添加一个链接到 Login 控件,以将用户转到他或她能够创建新用户帐户的 URL,则将 CreateUserText 属性设置为文本(如 Click here to register(单击此处注册)),并将 CreateUserUrl 属性设置为帮助页的 URL(如 ~/register.aspx)。

说明: 此步骤以及下面的步骤要求目标 URL 位于不需要身份验证的位置。

2、若要添加一个链接到 Login 控件,以将用户转到可以恢复用户密码的 URL,则将 PasswordRecoveryText 属性设置为文本(如 Forgot your password?(是否忘记了密码?)),并将 PasswordRecoveryUrl 属性设置为帮助页的 URL(如 ~/recoverpassword.aspx)。

3、若要添加一个链接到 Login 控件,以将用户转到帮助 URL,则将 HelpPageText 属性设置为文本(如 Need Help?(是否需要帮助?)),并将 HelpPageUrl 属性设置为帮助页的 URL(如 ~/userhelp.aspx)。

四、将图像添加到 Login 控件

若要使用图像代替“登录”按钮,则将 LoginButtonImageUrl 属性设置为登录图像文件的 URL,如 ~/images/login.gif

您还可以使用 PasswordRecoveryIconUrlCreateUserIconUrl HelpPageIconUrl 属性分别包含链接到创建用户 URL、密码恢复 URL 和帮助 URL 的图像。

五、将登录控件转换为模板

您可以将 Login 控件转换为模板,在标记中该模板被定义为包含 ASP.NET 控件(如 Label TextBox)的表。然后,您可以使用这些元素或添加自己的元素来为 Login 控件创建自定义模板。请注意,组成登录模板的控件与默认模板中的控件使用相同的控件 ID

5.1、对登录控件使用模板

1、在设计视图中,将 Login 控件放在页上。

2、右击该控件,然后从快捷菜单中选择“转换为模板”。

Login 控件的转换方式取决于 DOCTYPE 声明。如果 DOCTYPE 声明设置为 XHTML 1.0 Transitional (<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">),则样式应用于在将 Login 控件转换为模板时创建的表。如果 DOCTYPE 声明没有设置为 XHTML 1.0 Transitional 或不存在,则没有任何样式信息保存在生成的外部表中。

例如,如果您设置了 Login 控件上的相对字号,然后将该控件转换为模板,则相对字号没有保存在表中。下面的示例显示字号设置为 X-Large Login 控件。

<asp:login id="Login2" runat="server" font-size="X-Large" BackColor="#F7F6F3" BorderColor="#E6E2D8" BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" ForeColor="#333333">

<TitleTextStyle BackColor="#5D7B9D" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />

<InstructionTextStyle Font-Italic="True" ForeColor="Black" />

<TextBoxStyle Font-Size="0.8em" />

<LoginButtonStyle BackColor="#FFFBFF" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"

Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284775" />

</asp:login>

当上面的代码中的 Login 控件转换为模板时,创建的表没有应用任何样式。下面的示例是上述控件在转换为模板时生成的代码段。

<asp:login id="Login2" runat="server" font-size="X-Large" BackColor="#F7F6F3" BorderColor="#E6E2D8" BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" ForeColor="#333333">

<TitleTextStyle BackColor="#5D7B9D" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />

<InstructionTextStyle Font-Italic="True" ForeColor="Black" />

<TextBoxStyle Font-Size="0.8em" />

<LoginButtonStyle BackColor="#FFFBFF" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"

Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284775" />

<LayoutTemplate>

<table border="0" cellpadding="4" cellspacing="0" style="border-collapse: collapse">

...

如果您要样式属性也应用于在将 Login 控件转换为模板时创建的表,请确保先将页的 DOCTYPE 设置为 XHTML 1.0 Transitional,然后在设计视图中,从控件菜单中选择“转换为模板”。

分享到:
评论

相关推荐

    ASP.NET简单LOGIN控件实例

    ASP.NET简单LOGIN控件实例 一个很简单的例子 很适合初学者

    asp.net login控件 使用详解说明

    asp.net login控件 使用详解说明 DEMO

    Web程序设计实验1ASP.NET标准控件和验证控件

    1、熟练掌握ASP.NET服务器控件的使用。 2、熟练掌握验证控件的使用。 二、实验内容 1、编写一个Web应用程序Login,该程序用于检查用户登录信息。当用户输入正确的用户名和密码时,显示登录成功的消息。否则,显示...

    .Net高级程序设计-Login控件

    基于ASP.NET的高级程序设计 主题1 利用Login登录控件实现完整身份验证 dcsujn

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

    .NET程序设计 实验七 ADO.NET管理数据库------学习网(实验七).zip

    本实验将通过创建一个的“C#学习网”,使同学们掌握ASP.NET服务器验证控件、ADO.NET对象的使用方法,并初步熟悉数据绑定控件GridView。该网站各页的效果图如图7-1、7-2、7-3、7-4、7-5、7-6、7-7、7-8所示。大体上...

    ASP.NET登陆控件最全最详细介绍

    ASP.NET登录控件概述Login控件LoginView 控件LoginStatus 控件LoginName 控件PasswordRecovery 控件CreateUserWizard 控件ChangePassword 控件 Login系列控件是微软为了简化我们的开发过程,为我们进行常规的安全...

    ASP.NET 3.5 开发大全11-15

    11.4.3 ASP.NET登录控件的使用 11.5 自定义控件实例 11.5.1 ASP.NET分页控件 11.5.2 ASP.NET分页控件的使用 11.6 小结 第12章 ASP.NET的皮肤、主题和母版页 12.1 皮肤和主题 12.1.1 CSS简介 12.1.2 CSS基础 12.1.3 ...

    ASP.NET4高级程序设计(第4版) 3/3

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

    ASP.NET 3.5 开发大全1-5

    11.4.3 ASP.NET登录控件的使用 11.5 自定义控件实例 11.5.1 ASP.NET分页控件 11.5.2 ASP.NET分页控件的使用 11.6 小结 第12章 ASP.NET的皮肤、主题和母版页 12.1 皮肤和主题 12.1.1 CSS简介 12.1.2 CSS基础 12.1.3 ...

    自己做的ASP.NET留言板论坛

    开发工具: VS2005+SQL2000,语言ASP.NET 主要页面: MasterPage.master 自定义的母版页 Login1.aspx登录页面 Register.aspx注册页面 ShowSubject..aspx查看主题页面 ShowWord.aspx 查看单个主题页面 ...

    [ASP.NET.4揭秘(卷2)].(.ASP.NET.4.Unleashed).谭振林等

    全书分为两卷,本卷主要介绍高级的ASP.NET4知识,内容包括安全、创建ASP.NET应用程序、创建自定义控件和客户端AJAX等。《ASP.NET 4揭秘(卷2)》适合各层次ASP.NET开发人员阅读。 编辑推荐 《ASP.NET 4揭秘(卷2)》:...

    Dreamweaver+ASP.NET动态网站设计与典型实例

    《Dreamweaver+ASP.NET动态网站设计与典型实例》配书光盘说明 配书光盘 版权所有,侵权必究 2007年10月 一、光盘内容: 1. Readme.txt 光盘说明文件,在使用前请先读光盘的Readme.txt文件。 2.目录内容: ...

    《ASP.NET 2.0完全开发指南-基于VB》随书光盘

    目录 第1章 简介 第2章 VB.NET简介 第3章 标准控件 第4章 验证控件和数据的验证 第5章 SQL Server 2005、SQL语句和表的规范化 ...第19章 网页安全和Login控件 第20章 层叠样式表 第21章 主题、个性化配置和Web部件

    圣殿祭司的ASP.NET 4.0专家技术手册,完整扫描版

    ASP.NET 4.0技术概述、ASP.NET程序的编译模型、将ASP.NET程序开发服务器Port...功能特色、GridView对数据处理与事件模式的改变、Data Source数据源控件、DetailsView控件、网站导航控件、建立母版页、注册ASP.NET网站...

    asp.net技术内幕(1)

    使用ASP.NET Web表单 &lt;br&gt;第1章 建立ASP.NET页面 &lt;br&gt;1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 1.2 ASP...

    ASP.NET 3.5 开发大全

    11.4.3 ASP.NET登录控件的使用 11.5 自定义控件实例 11.5.1 ASP.NET分页控件 11.5.2 ASP.NET分页控件的使用 11.6 小结 第12章 ASP.NET的皮肤、主题和母版页 12.1 皮肤和主题 12.1.1 CSS简介 12.1.2 CSS基础 12.1.3 ...

    ASP.NET3.5揭秘(卷2)part1

     第1章 使用Login控件  1.1 Login控件概览  1.2 使用Login控件  1.3 使用CreateUserWizard控件  1.4 使用LoginStatus控件  1.5 使用LoginName控件  1.6 使用ChangePassword控件  1.7 使用Password...

    ASP.NET3.5从入门到精通

    11.4.3 ASP.NET 登录控件的使用 16 第一篇 窗口与界面编程 11.5 自定义控件实例 11.5.1 ASP.NET 分页控件 11.5.2 ASP.NET 分页控件的使用 11.6 小结 第 12 章 ASP.NET 的皮肤、主题和母版页 12.1 皮肤和主题 12.1.1 ...

Global site tag (gtag.js) - Google Analytics