(搬运).net起步 (自定义 ASP.NET CreateUserWizard 控件2)
来源:互联网 发布:知乎 暴戾 编辑:程序博客网 时间:2024/05/20 10:21
本次,我们主要来自定义一个用户创建的向导步骤。在上一个实验中,我们创建了一个 CreateUserWizard 控件,该控件具有两个基本步骤(CreateUserStep 和CompleteStep),本实验我们在此基础上创建一个添加在 CreateUserStep 之前的附加向导步骤定义的模板。
添加向导步骤
① 打开上次实验网页,向 CreateUserWizard 控件的 <WizardSteps> 节添加 <asp:WizardStep> 元素。在您的自定义 CreateUserWizard 控件将使用的附加向导步骤中包括任何控件和标记。
例如,下面的代码示例演示要添加在 CreateUserWizard 控件(该控件包含供用户输入用户名的文本框控件)的 CreateUserStep 之前的步骤。将检查用户名以确保该名称在成员资格数据库中不存在。
下面的代码示例演示 NextButtonClick 事件的处理程序,该处理程序使用在前一个代码示例的向导步骤的 TextBox 控件中输入的用户名,并验证该用户名,以确保它不是空白的并且在成员资格数据库中不存在。您将需要向页上的 CreateUserWizard 控件添加一个 OnNextButtonClick 属性,该控件引用 NextButtonClick 事件的处理程序(例如 OnNextButtonClick="CreateUserWizard1_NextButtonClick"。)
<asp:WizardStep ID="CreateUserWizardStep0" runat="server"> <table border="0" style="font-size:100%;font-family:Verdana" id="TABLE2"> <tr> <td align="center" colspan="2" style="font-weight:bold;color:white;background-color:#5d7b9d"> Select an Account Name </td> </tr> <tr> <td> <asp:Label ID="AccountNameLabel" runat="server" AssociatedControlID="SearchAccount"> Account Name: </asp:Label> <asp:TextBox ID="SearchAccount" runat="server"></asp:TextBox><br /> <asp:Label ID="SearchAccountMessage" runat="server" ForeColor="Red"></asp:Label> </td> </tr> </table></asp:WizardStep>②添加向导步骤的代码。可以处理 Wizard 控件的 NextButtonClick 事件以执行您的代码。CurrentStepIndex 属性值通过步骤索引号(从代表第一个步骤的 0 开始)来指示哪个附加向导步骤引发了 NextButtonClick 事件。
下面的代码示例演示 NextButtonClick 事件的处理程序,该处理程序使用在前一个代码示例的向导步骤的 TextBox 控件中输入的用户名,并验证该用户名,以确保它不是空白的并且在成员资格数据库中不存在。您将需要向页上的 CreateUserWizard 控件添加一个 OnNextButtonClick 属性,该控件引用 NextButtonClick 事件的处理程序(例如 OnNextButtonClick="CreateUserWizard1_NextButtonClick"。)
选中左侧的 CreateUserWizard 控件,双击触发右侧属性面板中的 NextButtonClick 事件。
protected void CreateUserWizard1_NextButtonClick(object sender, WizardNavigationEventArgs e) { if(e.CurrentStepIndex==0) { if(SearchAccount.Text.Trim()==""||UserExists(SearchAccount.Text)) { SearchAccountMessage.Text = "That account already exists.Please select an different account name."; e.Cancel = true; } else { TextBox userName = (TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName"); userName.Text = SearchAccount.Text; SearchAccountMessage.Text = ""; e.Cancel = false; } } } private bool UserExists(string text) { if (Membership.GetUser(text) != null) { return true; } return false; }注意:我们需要添加命名空间 using System.Web.Security;的引用。
PS
①Membership
Membership是ASP.NET为我们提供的一套验证和存储用户凭证的框架。它可以帮助我们快速的开发用户登录、管理以及权限验证相关的模块。
一般来讲我们的网站要实现的与用户相关的最基本功能包括:注册,登录,修改用户资料和密码。Membership为我们提供了以下几个类来帮助我们完成这些功能。
membership类
membership属性:
membership方法:
事件:
②
Cancel 属性
获取或设置一个值,指示是否应取消向导中到下一步的导航。
命名空间: System.Web.UI.WebControls
程序集: System.Web(在 system.web.dll 中)
CurrentStepIndex 属性
获取当前显示在 Wizard 控件中的 WizardStep 对象的索引。
命名空间: System.Web.UI.WebControls
程序集: System.Web(在 system.web.dll 中)
NextStepIndex 属性
获取一个值,该值表示 Wizard 控件要显示的下一个 WizardStep 对象的索引。
命名空间: System.Web.UI.WebControls
程序集: System.Web(在 system.web.dll 中)
阅读全文
0 0
- (搬运).net起步 (自定义 ASP.NET CreateUserWizard 控件2)
- (搬运).net起步 (自定义 ASP.NET CreateUserWizard 控件1)
- (搬运).net起步 (自定义 PasswordRecovery 控件)
- 如何:自定义 ASP.NET CreateUserWizard 控件
- ASP.NET - 如何:自定义 ASP.NET CreateUserWizard 控件
- (搬运).net起步 (使用 ASP.NET Login 控件的高级功能)
- (搬运).net起步 (MemberShip 的配置)
- (搬运).net起步 (MemberShip 初步实例)
- (搬运).net起步 (构建 T ASP.NET 三层架构实例演示)
- (搬运).net起步 (对 Login 控件添加图文验证码)
- (搬运).net起步 (通过 Membership 进行权限控制)
- (搬运).net起步 (身份验证机制 membership 项目演练)
- (搬运).net起步 (用配置文件属性维护网站用户信息 2)
- 【.Net码农】[asp.net]自定义控件(支持模板)2
- Asp.net自定义控件
- asp.net自定义控件
- asp.net自定义控件
- asp.net 自定义控件
- python学习笔记2
- maven项目 tomcat启动时报错遇到的坑
- hihocoder-1068-RMQ-ST算法模板
- tensorflow将CSV文件转为TFrecords文件
- No215. Kth Largest Element in an Array
- (搬运).net起步 (自定义 ASP.NET CreateUserWizard 控件2)
- 13 linux设备驱动基础
- 素材 图论-节点的度
- js实现数据绑定
- 欢迎使用CSDN-markdown编辑器
- Double类型两个数不能用双等号判断是否相等
- 查看linux版本
- LintCode堆栈题总结
- 自学Java之Java编程(编写Java servlet和Java server)(021day)