现在的位置: 首页 >> 网站编程 >> ASP.NET >> ASP.NET 2.0中的登陆控件简介(3)
添加时间:2005-8-16 来源:网教中国 作者: 廖煜嵘编译
ASP.NET 2.0中的登陆控件简介(3)

     CreateUserWizard控件
  
    使用该控件,可以很方便地一步步引导用户进行注册。拖拉其到设计窗体中,如下图:
  
  
    当然,你可以对其属性进行更多地设置,比如,设置HeaderTemplate(头模版),StartNavigationTemplate(开始注册模版),FinishNavigationTemplate(结束注册模版)等,具体设置可以参考在线帮助。而该控件还允许当注册成功后向用户发邮件,比如:
  
  <asp:CreateUserWizard id="CreateUserWizard1" runat="server">
  <MailDefinition
  BodyFileName="NewUserEmail.txt"
  From="welcome@dorknozzle.com"
  Subject="Welcome to the Dorknozzle site!"/>
  </asp:CreateUserWizard>
  
    而发邮件则需要在web.config文件中配置,比如:
  
  <configuration>
  <system.web>
  <authentication mode="Forms"/>
  <smtpMail serverName="Localhost"/>
  </system.web>
  </configuration>
  
    PasswordRecovery密码恢复控件
  
    该控件可以实现简单地密码提示恢复功能,并将密码email给用户,代码如下:
  
  <asp:PasswordRecovery id="prForgotPass" runat="server"> </asp:PasswordRecovery>
  
    实现时如下图所示:
  
  
  
    用户输入用户名后,则需要输入密码恢复的答案,如下图:
  
    并在该控件中设置将恢复后的密码EMAIL给用户
  
  <asp:PasswordRecovery id="prForgotPass" runat="server">
  <MailDefinition
  BodyFileName="forgotpassword.txt"
  From="helpdesk@dorknozzle.com"
  Subject="Word has it, you forgot your password?"/>
  </asp:PasswordRecovery>
  
    ChangePassword 更改密码控件
  
    更改密码控件可以很方便地实现密码的更改,包括一个 MailDefinition 属性。如果将值赋给 MailDefinition 属性,则 ChangePassword 控件在密码成功更改时将自动向用户发送一个电子邮件。
  
  
    直接使用Membership API
  
    有时候,需要对成员身份进行更高级别(比 Web 站点管理工具或 Login 控件提供的控制级别高)的控制。在这些情况下,可以直接使用 Membership API。
  
    Membership API 是通过 Membership 类公开的。Membership 类包含的方法使您能够完成以下工作:创建新用户;更改密码;搜索与特定条件匹配的用户等等。在幕后,Login 控件使用这些方法与已配置的成员身份提供程序进行交互。
  
    下面列出了 Membership 类的一些比较重要的方法:
  
     CreateUser — 使您能够创建新用户。
  
     DeleteUser — 使您能够删除现有用户。
  
     FindUsersByEmail — 使您能够检索与某个特定的电子邮件地址匹配的用户集合。
  
     FindUsersByName — 使您能够检索与某个特定的用户名匹配的用户集合。
  
     GeneratePassword — 使您能够生成随机密码。
  
     GetAllUsers — 使您能够检索成员身份提供程序中存储的所有用户。
  
     GetNumberOfUsersOnline — 使您能够返回当前正在访问 Web 应用程序的用户数。
  
     GetUser — 使您能够检索与当前用户相关联的成员身份信息,或者使您能够检索与某个已经提供用户名的用户相关联的成员身份信息。
  
     GetUsernameByEmail — 使您能够检索具有某个特定电子邮件地址的用户的用户名。
  
     UpdateUser — 使您能够更新特定用户的信息。
  
     ValidateUser — 使您能够根据成员身份提供程序对用户进行身份验证。
  
    最后,我们利用该API,实现稍微复杂的功能。在index.aspx中,添加一个label控件,显示在线的人数,代码如下:
  
  Number of Users Online:
  <asp:Label id="lblNumUsersOnline" runat="server"/>
  
    在PAGE-LOAD事件中,增加代码如下:
  
  Sub Page_Load(s As Object, e As EventArgs) Handles MyBase.Load
  lblNumUsersOnline.Text = _
  Membership.GetNumberOfUsersOnline().ToString()
  End Sub
  
    则可以显示在线人数。我们并且再添加一个gridview,显示所有用户的在线状况,是否允许某种权限和相关的信息。
  
  <asp:GridView id="gvUsers" runat="server" AutoGenerateColumns="False">
  <Columns>
  <asp:BoundField HeaderText="Username" DataField="Username" />
  <asp:BoundField HeaderText="Is Online?" DataField="IsOnline" />
  <asp:BoundField HeaderText="Is Approved?" DataField="IsApproved" />
  <asp:BoundField HeaderText="Email" DataField="Email" />
  </Columns>
  </asp:GridView>
  
    并将gridview绑定:
  
  gvUsers.DataSource = Membership.GetAllUsers() ;
  gvUsers.DataBind();
  
    最后运行结果如下图:
  
    总结:
  
    本文以实际例子,介绍了asp.net 2.0中新增加的登陆系列控件的简单用法以及新增加的Membership API的简单使用,更多的请参考MSDN或正式版时的有关介绍。
  


上一篇:ASP.NET 2.0中的登陆控件简介(2) 下一篇:ASP.NET 2.0 中改进的缓存功能
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·ASP.NET 2.0中构造个性化网页
·利用 ASP.NET 的内置功能抵御 We
·提高ASP.Net应用程序性能的十大(
·不用SQL语句查询DataTable中的数
·基于C#的接口基础教程之六(5)
·ASP.NET应用程序规划与设计(1)
·ASP.NET可交互式位图窗体设计(5)
·ASP.NET虚拟主机的重大安全隐患(
·在网页中动态的生成一个gif图片
·改写即时消息的发送,包含同时给
相关文章
·ASP.NET 2.0中的登陆控件简介(2
·ASP.NET 2.0中的登陆控件简介(1
·ASP.NET 2.0,无刷新页面新境界
·ASP.NET 2.0 中的SqlCacheDepend
·学了一段时间的Asp.Net 2.0后,
·ASP.NET 2.0里轻松获取数据库连
·asp.net 2.0中用GRIDVIEW插入新
·在ASP.NET 2.0中使用页面导航控
·asp.net 2.0中一次性更新所有GRI
·asp.net 2.0中使用sitemapDATAso
最新文章
·《ASP.NET网站建设专家》目录
·《ASP.NET网站建设专家》前言
·用ASP.NET在同一网页中显示主从
·ASP.NET 如何操作文件
·ASP.NET 2.0中构造个性化网页
·利用 ASP.NET 的内置功能抵御 We
·.text urlRewrite介绍
·ASP.NET中为DataGrid添加合计字
·用 WebClient.UploadData 方法
·ASP.NET Cache
Google