您的位置:首页 > 编程语言 > ASP

ASP.NET 用户控件的创建和使用

2009-11-20 16:54 381 查看
用户控件就是代码的重用性的体现。

一个用户控件就是一个简单的ASP.NET页面,不过他是包含在另一个ASP.NET页面的,用户控件文件有如下特点:

1.扩展名为:.ascx。

2.用户控件中没有“@ page”指令,而是包含“@ Control”指令,该指令对配置及其他的属性进行定义。

3.用户控件不能作为独立文件运行,而是必须像处理控件一样,将它们添加到Asp.net页中。

4.用户控件中没有html,body,或form元素,这些元素不许位于宿主中。

如下:

protected void Page_Load(object sender, EventArgs e)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>用户自定义控件--搜索功能</title>
</head>
<body>
<form id="form1" runat="server">
<div>

<uc1:Sample ID="Sample1" runat="server" lableText="城市:"/>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="id" HeaderText="序号"/>
<asp:BoundField DataField="name" HeaderText="姓名"/>
<asp:BoundField DataField="city" HeaderText="城市"/>
<asp:BoundField DataField="phone" HeaderText="电话"/>
<asp:BoundField DataField="carrier" HeaderText="职业"/>
<asp:BoundField DataField="positon" HeaderText="职位"/>

</Columns>
</asp:GridView>
</div>

</form>
</body>
</html>

设置页面加载事件

因为页面已经添加了控件,所以后台代码就可以设置控件的属性的值了,

Sample1.connectionString 设置连接字符串,

Sample1.columnCondition 设置按哪个字段查询

Sample1.tableName = "basic" 设置查询哪个表,

Sample1.resultGridView = this.GridView1。设置控件的GridView

protected void Page_Load(object sender, EventArgs e)
{
Sample1.connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\YtbWork\donet\ASP.NET 3.5\ASP.NET 3.5\App_Data\db1.mdb";

Sample1.columnCondition = "city";

Sample1.resultGridView = this.GridView1;
Sample1.tableName = "basic";

}

因为我们在控件的按钮事件中有如下代码,所以,当点击搜索,就会绑定数据到GridView

protected void Search_Click(object sender, EventArgs e)
{
resultGridView.DataSource = SearchResult().DefaultView;
resultGridView.DataBind();
}

分析用户控件的创建和使用:

<%@ Register src="UC/Sample.ascx" tagname="Sample" tagprefix="uc1" %>

<uc1:Sample ID="Sample1" runat="server" lableText="城市:"/>

···走了,下班了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: