分类: C# 2011-02-21 10:38 4599人阅读 评论(0) 收藏 举报

今天上网找了一些关于Login控件的使用资料,遇到一个问题:Login控件本身具有不为空的验证,就是说当用户没有输入用户名或密码的时候,直接点提交不会通过验证,会在用户名和密码的后面出现“*”,意为必须输入的项。我想,如果我不想让它显示“*”,让显示“必须填写用户名”和“必须填写密码”的提示信息。上网找了半天,就是找不到我想要达到的效果。最后还是自己研究出来了。显示“*”是Login控件本身具备的特点,所以我选择了右键控件,选择“转换为模板”,这样Login就作为几个控件合在一起的组合体。显示“*”的是RequiredFieldValidator验证控件,将它的text属性“*”,改为你想要显示的提示就行了。

另外,如果想要用ValidationSummary和Login控件合用的话,只要将其ValidationGroup属性设置为Login控件的ID就可以了。

下面是从网上转载过来的关于Login控件的一些属性和事件:

(来源:www.soAsp.net)

Login控件

1.功能
Login控件是一个复合控件,它提供对网站上的用户进行身份验证所需的,所有常见的UI元素。所有登录方案都需要以下三个元素:

● 用于标识用户的惟一用户名。

● 用于验证用户标识的密码。

● 用于将登录信息发送到服务器的登录按钮。

Login 控件还提供以下支持附加功能的可选UI 元素:

● 密码提示链接。

● 用于在两次会话之间保留登录信息的“记住我”复选框。

● 为那些在登录时遇到问题的用户提供的帮助链接。

● 将用户重定向到注册页的“注册新用户”链接。

● 出现在登录窗体上的说明文本。

● 在用户未填写用户名或密码字段而直接单击登录按钮时,出现的自定义错误文本。

● 登录失败时出现的自定义错误文本。

● 登录成功时发生的自定义操作。

● 在用户已登录到站点时隐藏登录控件的方法

2.属性
Login控件部分常用属性及说明,如表1所示。

表1 Login控件最常用的属性及说明

属性                                               描述

CreateUserIconUrl             获取显示在新用户的注册页链接旁边的图像的位置

CreateUserText                获取或设置新用户注册页的链接文本

CreateUserUrl                 获取或设置新用户注册页的 URL

DestinationPageUrl            获取或设置在登录尝试成功时向用户显示的页面的 URL

FailureAction                 获取或设置当登录尝试失败时发生的操作

FailureText                   获取或设置当登录尝试失败时显示的文本

HelpPageText                  获取或设置登录帮助页链接的文本

HelpPageUrl                   获取或设置登录帮助页的URL

LoginButtonText               获取或设置Login控件的登录按钮的文本

LoginButtonType               获取或设置在呈现Login按钮时使用的按钮类型

MembershipProvider            获取或设置控件使用的成员资格数据提供程序的名称

Orientatio                    获取或设置一个值,该值指定页面上Login控件的元素的位置

PasswordLabelText             获取或设置 Password文本框的标签文本

PasswordRecoveryText          获取或设置密码恢复页链接的文本

PasswordRecoveryUrl           获取或设置密码恢复页的 URL

PasswordRequiredErrorMessage 获取或设置当密码字段为空时在 ValidationSummary控件中显示的错误信息

RememberMeText                获取或设置“记住我”复选框的标签文本

TextLayout                    指定 Login 控件的每个标签相对于其关联文本框的位置

TitleText                     获取或设置Login控件的标题

UserName                      获取用户输入的用户名

UserNameLabelText             获取或设置UserName文本框的标签文本

UserNameRequiredErrorMessage 获取或设置当用户名字段为空时在ValidationSummary 控件中显示的错误信息

ValidatorTextStyle            获取对 Style 属性集合的引用,这些属性定义与Login控件使用的验证程序关联的错误信息的外观

VisibleWhenLoggedIn           获取或设置一个值,该值指示在验证用户身份后是否显示 Login 控件

下面对比较重要的属性进行详细介绍。

(1)CreateUserText属性

此属性获取或设置新用户注册页的链接文本。

语法:

public virtual string CreateUserText { get; set; }

属性值:

新用户注册页的链接文本。默认为 Empty。

说明:CreateUserText 属性包含站点注册页的链接文本。在CreateUserUrl属性中指定注册页的URL。如果CreateUserUrl为空,则向用户显示CreateUserText属性中的文本,但不以链接的形式显示。如果CreateUserText属性为空,则不向用户提供注册页链接

(2)CreateUserUrl属性

此属性用来设置新用户注册页的URL,它包含网站新用户注册页的URL。

语法:

public virtual string CreateUserUrl { get; set; }

属性值:

新用户注册页的 URL。默认为 Empty。

说明:CreateUserText属性包含链接使用的文本。如果CreateUserText属性为空,则不向用户提供注册页链接。

(3)DestinationPageUrl属性

此属性获取或设置在登录尝试成功时向用户显示的页面的URL。

语法:

public virtual string DestinationPageUrl { get; set; }

属性值:

登录尝试成功时用户被重定向到的页面的 URL。默认为Empty。

例如:登录成功要转向“Default2.aspx”页面。代码如下:

Login1.DestinationPageUrl = "~/Default2.aspx";

(4)FailureAction属性

此属性获取或设置当登录尝试失败时发生的操作。

语法:

public virtual LoginFailureAction FailureAction { get; set; }

属性值:

LoginFailureAction枚举值之一。默认为Refresh。

LoginFailureAction枚举值及说明如表5所示。

表5 LoginFailureAction枚举值及说明

枚举值                                             说明

RedirectToLoginPage           将用户重定向到站点的配置文件(Machine.config 和 Web.config)中所定义的登录页

Refresh                       刷新当前页,以便 Login控件可以显示错误消息

(5)HelpPageUrl属性

此属性获取或设置登录帮助页的URL。

语法:

public virtual string HelpPageUrl { get; set; }

属性值:

登录帮助页的URL。默认为Empty。

说明:HelpPageUrl 属性包含网站的登录帮助页的URL。HelpPageText属性包含用于链接的文本。如果HelpPageUrl为空,则向用户显示HelpPageText属性中的文本,但不以链接的形式显示。如果HelpPageText属性为空,则不向用户提供登录帮助页链接。

(6)HelpPageText属性

此属性获取或设置登录帮助页链接的文本

语法:

public virtual string HelpPageText { get; set; }

属性值:

登录帮助页链接的文本。默认为Empty。

(7)LoginButtonType属性

此属性获取或设置在呈现Login按钮时使用的按钮类型。

语法:

public virtual ButtonType LoginButtonType { get; set; }

属性值:

ButtonType枚举值之一。默认为Button。ButtonType枚举值及说明如表6所示。

表6 ButtonType 枚举值及说明

枚举值          说明

Button          命令按钮

Image    显示图像的按钮

Link    超链接样式的按钮

(8)PasswordRecoveryUrl属性

此属性获取或设置密码恢复页的URL。

语法:

public virtual string PasswordRecoveryText { get; set; }

属性值:

密码恢复页链接的文本。默认为Empty。

(9)PasswordRequiredErrorMessage属性

此属性获取或设置当用户名字段为空时在ValidationSummary控件中显示的错误信息

语法:

public virtual string PasswordRequiredErrorMessage { get; set; }

属性值:

当密码字段为空时,在ValidationSummary控件中显示的错误信息。默认值是“密码”。

(10)RememberMeText 属性

此属性获取或设置“记住我”复选框的标签文本。

语法:

public virtual string RememberMeText { get; set; }

属性值:

“记住我”复选框的标签文本。默认为下“次记住我”。

(11)UserNameRequiredErrorMessag属性

获取或设置当用户名字段为空时,在ValidationSummary控件中显示的错误信息。

语法:

public virtual string UserNameRequiredErrorMessage { get; set; }

属性值:

当用户名字段为空时在ValidationSummary 控件中显示的错误信息。默认为“用户名”。

(12)VisibleWhenLoggedIn属性

此属性获取或设置一个值,该值指示在验证用户身份后是否显示Login控件。

语法:

public virtual bool VisibleWhenLoggedIn { get; set; }

属性值:

如果在验证用户身份后隐藏Login控件,则为false;否则为true。默认为true。

本例使用Login控件,实现成员资格用户登录网站验证用户名和密码。示例运行,输入用户名“mr”,密码“mr.soft”登录网站。
Login 控件设计代码如下。

<asp:Login ID="Login1" runat="server" BackColor="#F7F7DE" BorderColor="#CCCC99" BorderStyle="Solid"
            BorderWidth="1px" DestinationPageUrl="~/Default.aspx" Font-Names="Verdana" Font-Size="10pt">
            <TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="#FFFFFF" />
</asp:Login>

3.事件
Login控件的常用事件及说明,如表7所示。

表7 Login控件的常用事件及说明

事件                                                        描述

Authenticate       验证用户的身份后出现

LoggedIn       在用户登录到网站并进行身份验证后出现

LoggingIn       在用户未进行身份验证而提交登录信息时出现

LoginError       当检测到登录错误时出现

下面对比较重要的事件进行详细介绍。

(1)Authenticate事件

验证用户的身份后出现。当用户使用Login控件登录到网站时,引发Authenticate事件。自定义身份验证方案可以使用Authenticate事件对用户进行身份验证。定义身份验证方案应该将Authenticated属性设置为 true,以指示已验证用户的身份。

语法:

public event AuthenticateEventHandlerAuthenticate

说明:在用户提交登录信息后,Login控件先引发LoggingIn事件,然后引发Authenticate事件,最后引发LoggedIn事件。

本例使用Login 控件的Authenticate事件,实现自定义用户登录网站。示例运行,输入用户名“System”,密码“111”登录网站。

代码如下。
protected void Login1_Authenticate1(object sender, AuthenticateEventArgs e)
    {
        System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("server=ZHY//ZHY;uid=sa;pwd=;database=aspnetdb");
        con.Open();
        string strSql = "select * from tb_01 where userid='" + Login1.UserName.ToString() + "' and username='" + Login1.Password + "'";
        System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand(strSql, con);
        System.Data.SqlClient.SqlDataReader dr = com.ExecuteReader();
        if (dr.Read())
        {
            e.Authenticated = true;//通过验证
        }
        else
        {
            e.Authenticated = false;
        }
        dr.Close();
        con.Close();
    }

4.典型实例
本例实现登录控件的综合应用,使用Login控件实现成员资格用户登录网站。运行实例“Login.aspx”页,输入用户名“soAsp_net”,密码“111”登录网站。

主要代码如下。 <asp:Login ID="Login1" runat="server" BackColor="#F7F7DE" BorderColor="#CCCC99" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="10pt" DestinationPageUrl="~/Index.aspx"> <TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
</asp:Login>

ASP.NET关于Login控件使用 (转)的更多相关文章

  1. ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件

    原文:ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件 Login控件它是属于Membership服务的一部分,必须配置Membership提供程 ...

  2. 关于asp:login控件和验证码的问题?(转)

    1.验证码页面添加.2.将这验证码页面添加到login控件中:拖曳一Login控件,将之切换到模式下,在Html源文件中在表格中密码那行后添加: <tr>    <td style= ...

  3. Asp.Net2.0下C#环境 Login控件实现用户登录

    原文:Asp.Net2.0下C#环境 Login控件实现用户登录 一.前台显示效果 二.前台代码             <asp:Login ID="Login1" run ...

  4. asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件

    原文:asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功.请重试. Login控件 现象1.asp.net使用自定义sql server身份验证数据库,在A机器新增用户A,可以登录成 ...

  5. asp.net Login控件基本属性及事件说明

    原文:asp.net Login控件基本属性及事件说明 Login系列控件是微软为了简化我们的开发过程,为我们进行常规的安全开发提供块捷途径. Login系列控件包含下列控件: Login 登录控件 ...

  6. login控件“您的登录尝试不成功。请重试”的解决方法

    原文:login控件"您的登录尝试不成功.请重试"的解决方法 遇到login控件“您的登录尝试不成功.请重试”报错之后,在网上找了很久,也按照如下帖子设置了 application ...

  7. Login控件尝试

    新建web项目,添加default.aspx.Register.aspx.Login.aspx. default.aspx中添加LoginName.LoginStatus,LoginName的Form ...

  8. [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值

    原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ...

  9. ASP.NET Web数据控件

    ASP.NET Web数据控件 1.数据控件简介 这包括数据源控件和格式设置控件,前者使您可以使用 Web 控件访问数据库中的数据,后者使您可以显示和操作ASP.NET 网页上的数据.  2.数据控件 ...

随机推荐

  1. String,你到底创建了几个对象????

    String str=new String("aaa"); 这行代码究竟创建了几个String对象呢?答案是2个,而不是3个.由于 new String("aaa&quo ...

  2. 【BZOJ】1834: [ZJOI2010]network 网络扩容(最大流+费用流)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1834 我又思考人生了T_T,nd的数组开小了,一直wa,调了一个小时才发现啊!!!!!我一直以为我的 ...

  3. SVN提交提示:working copy is not up-to-date解决方法

    解决方法: 在相应文件上,单击选择team,然后选择先更新,然后再提交.这样就好了.

  4. [转]IE11下Forms身份认证无法保存Cookie的问题

    本文转自:http://www.cnblogs.com/jaxu/p/3698377.html ASP.NET中使用Forms身份认证常见的做法如下: 1. 网站根目录下的Web.config添加au ...

  5. 浅谈RAID写惩罚(Write Penalty)与IOPS计算

    介绍 通常在讨论不同RAID保护类型的性能的时候,结论都会是RAID-1提供比较好的读写性能,RAID-5读性能不错,但是写入性能就不如RAID-1,RAID-6保护级别更高,但写性能相对更加差,RA ...

  6. Spring框架中的定时器 如何使用和配置

    目标类 <bean id="myTimer" class="com.timer.MyTimer"></bean> 配置你的定时器详情 & ...

  7. OpenCV学习笔记——视频的边缘检测

    使用Canny算子进行边缘检测,并分开输出到三个窗口中,再给每一个窗口添加文字 代码: #include"cv.h" #include"highgui.h" / ...

  8. PHP 表单添加隐藏 Token 阻止外部提交

    Token 法:通过一个隐藏可变的 Token 加大攻击的难度,每次提交都需要和服务器校对,如果不通过,则为外部提交(也可以通过 session + 隐藏域来验证). 代码: form.php < ...

  9. php 递归创建目录、递归删除非空目录、迭代创建目录

    递归创建目录 方法一 function mk_dir($path){ if(is_dir($path)){ //参数本身是一个目录 return true; } if(is_dir(dirname($ ...

  10. artDialog ( v 6.0.2 ) content 参数引入页面 html 内容

    /*! artDialog v6.0.2 | https://github.com/aui/artDialog */ 将页面某一隐藏的 div 的 html 内容传到 artdialog 的弹窗中,并 ...