* 第8章 用户控件 ASP.NET提供了用户控件设计功能。 用户控件基本的应用就是把网页中经常用到的程序封装到一个单元中,以便在其他网页中使用,从而提高应用程序开发效率。 8.1 用户控件概述 用户控件几乎与网页.aspx文件相似,但仍有以下不同之处: 用户控件的文件扩展名为.ascx。 用户控件中没有@Page指令,而是包含@Control指令,该指令对配置及其相关属性进行定义。 用户控件不能作为独立文件运行,而必须像其他控件一样,将其添加到ASP.NET网页中。 用户控件中没有html、body或form元素。 8.2 创建ASP.NET用户控件 8.2.1 创建用户控件的过程 创建用户控件的过程与网页文件十分相似, “添加新项”对话框 ① WebUserControl.ascx设计界面 源视图代码: %@ Control Language=C# AutoEventWireup=true CodeFile=“WebUserControl.ascx.cs” Inherits=ch8_WebUserControl % table style=width: 214px; height: 28px border=1 tr td style=width: 40px; text-align: right; height: 20px; span style=font-size: 10pt; color: #3300ffstrong姓名 /strong/span /td td style=width: 52px; height: 20px; asp:TextBox ID=TextBox1 runat=server Width=119px Height=18px/asp:TextBox /td /tr ② tr td style=width: 40px; text-align: right; height: 20px; span style=font-size: 10pt; color: #0000ffstrong年龄 /strong/span /td td style=width: 52px; height: 20px; asp:TextBox ID=TextBox2 runat=server Font-Size=10pt Height=18px Width=82px/asp:TextBox /td /tr /table 8.2.2 设置用户控件 1. 设置用户控件的属性 用户控件就是一个类,其中包含的其他控件等都是私有,外部无法访问它们。 为了能通过该类的对象访问这些私有成员,可以通过设计属性的方式来实现。 例如,对于前面设计的WebUserControl.ascx用户控件,无法通过其对象访问文本框,为此在该用户控件上设计如下后台代码: public string sname //公共属性 { get { return TextBox1.Text; } set { TextBox1.Text = value; } } public string sage //公共属性 { get { return TextBox2.Text; } set { TextBox2.Text = value; } } 2. 设置用户控件的方法 和设置用户控件的属性一样,可以通过设置用户控件的公共方法来达到访问用户控件中成员的目的。 【例8.2】 创建一个用户控件WebUserControl1.ascx,其中包含一个列表框ListBox1,并设计相关公共方法实现对列表框的操作。 解:其设计步骤如下: (1)创建用户控件WebUserControl1.ascx。 (2)其设计界面如下图所示,包含一个HTML标签和一个列表框ListBox1。 (3)在该用户控件上设计如下方法: public int count() //返回列表框中项目个数 { return ListBox1.Items.Count; } public void clear() //删除所有项目 { ListBox1.Items.Clear(); } public void add(string item) //添加一个字符串 { ListBox1.Items.A
原创力文档

文档评论(0)