为用户控件添加自定义属性

与标准的 ASP.NET 内置服务器控件一样,用户控件可以在其定义标记上具有属性(属性)。假设你想在 UserControl.ascx 文件上添加颜色效果,如下所示:

<uc:UserControl ID="UserControl1" runat="server" Color="blue" />

此时,可以通过在用户控件的代码中声明属性来设置用户控件的自定义属性/属性:

private String _color;
public String Color
{
    get
    {
        return _color;
    }
    set
    {
        _color = value;
    }
}

此外,如果要在用户控件属性上设置默认值,请在用户控件的构造函数方法中指定默认值。

public UserControl()
{
    _color = "red";
}

然后,应修改用户控件标记以添加颜色属性,如下例所示:

<%@ Control Language="C#" AutoEventWireup="True" CodeFile="UserControl.ascx.cs" %>
<div>
    <span style="color:<%= Color %>"><asp:Label ID="Label1" runat="server" /></span>
    <br />
    <asp:Button ID="Button1" runat="server" Text="Click Here" OnClick="Button1_Click" />
</div>