=波波日志 > Asp.Net/C#/WCF > 5.15 向导控件(Wizard)=
[转]5.15 向导控件(Wizard)
在WinForm开发中,安装程序会一步一步的提示用户安装,或者在应用程序配置中,同样也有向导提示用户,让应用程序安装和配置变得更加的简单。与之相同的是,在ASP.NET中,也提供了一个向导控件,便于在搜集用户信息、或提示用户填写相关的表单时使用。
5.15.1 向导控件的样式
当创建了一个向导控件时,系统会自动生成向导控件的HTML代码,示例代码如下所示。
上述代码生成了Wizard控件,并在Wizard控件中自动生成了WizardSteps标签,这个标签规范了向导控件中的步骤,如图5-45所示。在向导控件中,系统会生成WizardSteps控件来显示每一个步骤,如图5-46所示。

图5-45 向导控件

图5-46 完成后的向导控件
在ASP.NET 2.0之前,并没有Wizard向导控件,必须创建自定义控件来实现Wizard向导控件的效果,如视图控件。而在ASP.NET 2.0之后,系统就包含了向导控件,同样该控件也保留到了ASP.NET 3.5。向导控件能够根据步骤自动更换选项,如当还没有执行到最后一步时,会出现【上一步】或【下一步】按钮以便用户使用,当向导执行完毕时,则会显示完成按钮,极大的简化了开发人员的向导开发过程。
向导控件还支持自动显示标题和控件的当前步骤。标题使用HeaderText属性自定义,同时还可以配置DisplayCancelButton属性显示一个取消按钮,如图5-47所示。不仅如此,当需要让向导控件支持向导步骤的添加时,只需配置WizardSteps属性即可,如图5-48所示。

图5-47 显式“取消”按钮

图5-48 配置步骤
Wizard向导控件还支持一些模板。用户可以配置相应的属性来配置向导控件的模板。用户可以通过编辑StartNavigationTemplate属性、FinishNavigationTemplate属性、StepNavigationTemplate属性以及SideBarTemplate属性来进行自定义控件的界面设定。这些属性的意义如下所示:
?1)StartNavigationTemplate:该属性指定为Wizard控件的Start步骤中的导航区域显示自定义内容。
?2)FinishNavigationTemplate:该属性为Wizard控件的Finish步骤中的导航区域指定自定义内容。
?3)StepNavigationTemplate:该属性为Wizard控件的Step步骤中的导航区域指定自定义内容。
?4)SideBarTemplate:该属性为Wizard控件的侧栏区域中指定自定义内容。
以上属性都可以通过可视化功能来编辑或修改,如图5-49所示。

图5-49 导航控件的模板支持
导航控件还能够自定义模板来实现更多的特定功能,同时导航控件还能够为导航控件的其他区域定义进行样式控制,如导航列表和导航按钮等。
5.15.2 导航控件的事件
当双击一个导航控件时,导航控件会自动生成FinishButtonClick事件。该事件是当用户完成导航控件时被触发。导航控件页面HTML核心代码如下所示。
上述代码为向导控件进行了初始化,并提示用户正在执行的步骤,当用户执行完毕后,会提示感谢您的使用并在相应的文本标签控件中显示“向导控件执行完毕”。当单击示导航控件时,会触发FinishButtonClick事件,通过编写FinishButtonClick事件能够为导航控件进行编码控制,示例代码如下所示。
在执行的过程中,标签文本会显式执行的步骤,如图5-50所示。当运行完毕时,Label标签控件会显示“向导控件执行完毕”,同时向导控件中的文本也会呈现“感谢您的使用”字样。运行结果如图5-51所示。

图5-50 执行第二步

图5-51 用户单击完成后执行事件
向导控件不仅能够使用FinishButtonClick事件,同样也可以使用PreviousButtonClick和FinishButtonClick事件来自定义【上一步】按钮和【下一步】按钮的行为,同样也可以编写CancelButtonClick事件定义单击【取消】按钮时需要执行的操作。
5.15.1 向导控件的样式
当创建了一个向导控件时,系统会自动生成向导控件的HTML代码,示例代码如下所示。
+展开
-HTML
<asp:Wizard ID="Wizard1" runat="server">
<WizardSteps>
<asp:WizardStep runat="server" title="Step 1">
</asp:WizardStep>
<asp:WizardStep runat="server" title="Step 2">
</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
<WizardSteps>
<asp:WizardStep runat="server" title="Step 1">
</asp:WizardStep>
<asp:WizardStep runat="server" title="Step 2">
</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
上述代码生成了Wizard控件,并在Wizard控件中自动生成了WizardSteps标签,这个标签规范了向导控件中的步骤,如图5-45所示。在向导控件中,系统会生成WizardSteps控件来显示每一个步骤,如图5-46所示。

图5-45 向导控件

图5-46 完成后的向导控件
在ASP.NET 2.0之前,并没有Wizard向导控件,必须创建自定义控件来实现Wizard向导控件的效果,如视图控件。而在ASP.NET 2.0之后,系统就包含了向导控件,同样该控件也保留到了ASP.NET 3.5。向导控件能够根据步骤自动更换选项,如当还没有执行到最后一步时,会出现【上一步】或【下一步】按钮以便用户使用,当向导执行完毕时,则会显示完成按钮,极大的简化了开发人员的向导开发过程。
向导控件还支持自动显示标题和控件的当前步骤。标题使用HeaderText属性自定义,同时还可以配置DisplayCancelButton属性显示一个取消按钮,如图5-47所示。不仅如此,当需要让向导控件支持向导步骤的添加时,只需配置WizardSteps属性即可,如图5-48所示。

图5-47 显式“取消”按钮

图5-48 配置步骤
Wizard向导控件还支持一些模板。用户可以配置相应的属性来配置向导控件的模板。用户可以通过编辑StartNavigationTemplate属性、FinishNavigationTemplate属性、StepNavigationTemplate属性以及SideBarTemplate属性来进行自定义控件的界面设定。这些属性的意义如下所示:
?1)StartNavigationTemplate:该属性指定为Wizard控件的Start步骤中的导航区域显示自定义内容。
?2)FinishNavigationTemplate:该属性为Wizard控件的Finish步骤中的导航区域指定自定义内容。
?3)StepNavigationTemplate:该属性为Wizard控件的Step步骤中的导航区域指定自定义内容。
?4)SideBarTemplate:该属性为Wizard控件的侧栏区域中指定自定义内容。
以上属性都可以通过可视化功能来编辑或修改,如图5-49所示。

图5-49 导航控件的模板支持
导航控件还能够自定义模板来实现更多的特定功能,同时导航控件还能够为导航控件的其他区域定义进行样式控制,如导航列表和导航按钮等。
5.15.2 导航控件的事件
当双击一个导航控件时,导航控件会自动生成FinishButtonClick事件。该事件是当用户完成导航控件时被触发。导航控件页面HTML核心代码如下所示。
+展开
-HTML
<body>
<form id="form1" runat="server">
<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="2"
DisplayCancelButton="True" onfinishbuttonclick="Wizard1_FinishButtonClick">
<WizardSteps>
<asp:WizardStep runat="server" title="Step 1">
执行的是第一步</asp:WizardStep>
<asp:WizardStep runat="server" title="Step 2">
执行的是第二步</asp:WizardStep>
<asp:WizardStep runat="server" Title="Step3">
感谢您的使用</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
<form id="form1" runat="server">
<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="2"
DisplayCancelButton="True" onfinishbuttonclick="Wizard1_FinishButtonClick">
<WizardSteps>
<asp:WizardStep runat="server" title="Step 1">
执行的是第一步</asp:WizardStep>
<asp:WizardStep runat="server" title="Step 2">
执行的是第二步</asp:WizardStep>
<asp:WizardStep runat="server" Title="Step3">
感谢您的使用</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
上述代码为向导控件进行了初始化,并提示用户正在执行的步骤,当用户执行完毕后,会提示感谢您的使用并在相应的文本标签控件中显示“向导控件执行完毕”。当单击示导航控件时,会触发FinishButtonClick事件,通过编写FinishButtonClick事件能够为导航控件进行编码控制,示例代码如下所示。
+展开
-C#
protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{
Label1.Text = "向导控件执行完毕";
}
{
Label1.Text = "向导控件执行完毕";
}
在执行的过程中,标签文本会显式执行的步骤,如图5-50所示。当运行完毕时,Label标签控件会显示“向导控件执行完毕”,同时向导控件中的文本也会呈现“感谢您的使用”字样。运行结果如图5-51所示。

图5-50 执行第二步

图5-51 用户单击完成后执行事件
向导控件不仅能够使用FinishButtonClick事件,同样也可以使用PreviousButtonClick和FinishButtonClick事件来自定义【上一步】按钮和【下一步】按钮的行为,同样也可以编写CancelButtonClick事件定义单击【取消】按钮时需要执行的操作。
类别:Asp.Net/C#/WCF 作者:转载 日期:2010-05-19 【评论:0】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·IE里Cookie跨域不能..
- ·去掉隐藏asp.net编译..
- ·解决asp.net验证视图..
- ·找不到System.Web.S..
- ·web服务因URL意外地..
- ·C#2.0中,SerialPor..
- ·用C#编写ActiveX控件..
- ·用C#编写ActiveX控件..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(96)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(25)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·详解SqlConnection连..
- ·C#实现的html内容截..
- ·asp.net web.config..
- ·asp.net<%--注释--%..
- ·ASP.NET环境配置常见..
- ·asp.net防止图片盗链..
- ·Session.Abandon的使..
- ·asp中缓存cache技术..
随机博文
