用户控件是能够在其中放置标记和 Web 服务器控件的容器。然后,可以将用户控件作为一个单元对待,为其定义属性和方法。它可以重用现有的控件。用户控件使创建具有复杂用户界面元素的控件极为方便。它不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到 ASP.NET 页中。用户控件中也没有 html、body 或 form 元素。创建用户控件的步骤如下:
1.新建一个用户控件,名称自定义,后缀名是.ascx。
打开页面我们可以看到这样一些代码:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UCSearch.ascx.cs" Inherits="WebApplication.UserControl.UCSearch" %>
它是使用@ Control 指令,该指令对配置及其他属性进行定义。
2.前台页面我们可以添加一些常用的服务器控件或者Html控件,在这里我们添加一个TextBox和ImageButton控件到页面中。
<asp:TextBox ID="txtKeyWords" runat="server"></asp:TextBox>
<asp:ImageButton ID="btnSearch" runat="server" ImageUrl="~/images/search.png" />
3.后台代码中我们可以进行复杂的逻辑处理。例如 在做多条件混合搜索功能时 我们可以把搜索区域做成一个用户控件 然后在用户控件后台进行一些校验或者逻辑处理动作 然后将处理好的数据暴露给引用这个用户控件的页面。
public string KeyWords
{
get
{
return txtKeyWords.Text.Trim();
}
set
{
txtKeyWords.Text = value;
}
}
4.页面应该如何引用这个控件呢?
<%@ Register Src="~/UserControl/UCSearch.ascx" TagName="UCSearch" TagPrefix="UCSearch" %> 注册控件
<UCSearch:UCSearch ID="Search" runat="server" /> 使用控件
Search.KeyWords 后台获取用户控件数据