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="城市:"/>
···走了,下班了。
一个用户控件就是一个简单的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="城市:"/>
···走了,下班了。
相关文章推荐
- ASP.NET用户控件的创建和使用
- 第十一讲 在ASP.NET中使用用户控件
- 在asp.net mvc中创建使用Linq to sql的分页控件
- Asp.net在WebApplication和WebSite中用户控件的使用区别
- (转)ASP.NET 2.0:使用用户控件和定制的Web部件个人化你的门户网站(一)
- 在ASP.NET中使用用户控件
- ASP.NET用户控件如何使用
- [导入]在ASP.NET中使用用户控件(转)
- ASP.NET 用户控件的使用
- ASP.NET - 如何:使用 ASP.NET PasswordRecovery 控件启用用户密码恢复
- 在ASP.NET中使用用户控件
- (转) ASP.NET 2.0:使用用户控件和定制的Web部件个人化你的门户网站(二)
- ASP.NET 实践:使用用户控件实现 Web 部件的个性化
- 有关C#+ASP.NET中用户控件(webusercontrol)使用问题2则
- ASP.NET用户控件的使用
- ASP.NET用户控件如何使用
- 关于 asp.net 中的用户控件的制作与使用方法。
- 在asp.net mvc中创建使用Linq to sql的分页控件[转]
- ASP.NET 用户控件的使用介绍
- 如何在ASP.NET中制作Web用户自定义控件,并在aspx页面中使用它的方法和属性?