1.用户控件:用户控件是能够在其放置标记和web服务器控件的容器,可以被看作一个独立的单元,拥有自己的属性和方法,并放入到ASPX页面上。其原理与ASP.NET相似。也可以说当一个Web窗体被当作Server 控件使用是,这个Web 窗体便是用户控件。
1.1 用户控件:
(1)
是一种自定义的组合控件
(2)
封装独立的功能(显示列表等)
(3)
方便像页面一样的编辑
(4)
可以像系统控件一样拖拽方式使用
(5)后缀名为.ascx
1.2作用
(1)
母版页提供整个页面级的风格控制和代码重用;
(2)
用户控件提供
小范围的风格控制和更灵活的代码重用
1.3注意事项
用户控件中可以使用其他的用户控件,但
不可包含自己
1.4用户控件与页面的区别
(1)
后缀名:用户控件以
.
ascx
为后缀名,而页面后缀名是
.
aspx
(2)
指令:用户控件为
@Control
,页面是
@Page
(3)
继承:用户控件继承自
System.Web.UI.UserControl
,而页面继承自
System.Web.UI.Page
(4)
访问:用户控件不可直接访问,页面可直接访问
1.5用户控件与母版页区别
(1)
功能:母版提供一些列页面的页面框架,用户控件提供页面内容中的细节
(2)
母版页:内容页的框架,每个页面只能使用一个母版页
(3)
用户控件:为母版页、内容页、普通页甚至其他用户控件提供内容,且可以使用多个用户控件
2.如何创建用户控件(vs2010创建方法)
(1)创建一个新项目
(2)添加web用户控件
3.使用用户空间
<%@ Register src="WebUserControl1.ascx" tagname="WebUserControl1" tagprefix="uc1" %>
@Register 指令包括以下指令
TagPrefix 属性:定义控件位置的命名空间。有了命名空间的制约,就可以在同一个网页里使用不同功能的同名控件。
TagName:指向所使用控件的名字。在同一个命名空间里的控件名是唯一的。控件名一般都表明空间的功能。
src属性:指向控件的资源文件。资源文件使用虚拟路径,不能使用物理路径。
4.例如:使用用户控件创建一个搜索框的实现,当点击搜索时显示文本框的内容。
(1)创建一个新项目
(2)添加web用户控件
(3)在新建的web用户控件界面添加TextBox控件(输入框)和Button(搜索按钮)
然后编写Button按钮事件
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(TextBox1.Text);
}
添加textbook属性
public string Text
{
get
{
return TextBox1.Text;
}
set
{
TextBox1.Text = value;
}
}
也可以为文本框和按钮添加颜色
public void forecolor(Color color)
{
TextBox1.ForeColor = color;
Button1.BorderColor = color;
}
(4)打开页面界面设计,可将资源管理器中的web控件文件直接拉在页面设计中
也可在后台显示刚才定义的颜色
protected void Page_Load(object sender, EventArgs e)
{
WebUserControl11.forecolor(Color.Aqua);
}
(5)重新生成并在浏览器中查看