如何向ASP.NET控件添加自定义属性

20

我有一个 ASP.NET 控件,比如复选框:

<asp:CheckBox ID="myChck" runat="server" Value="myCustomValue" />

是否有可能从代码后端添加自定义 Value 属性,并从 Value 中相应地获取其值?

类似以下的伪代码:

myCkck.Value = "blq blq";
string chckValue = myChck.Value;

我该怎么做?


你需要在GridView中展示吗? - YaakovHatam
在这种情况下,@kobe不需要。为什么会有区别呢? - Anton Belev
请参考微软官网以了解更多信息 http://msdn.microsoft.com/zh-cn/library/7a9d6h4f(v=vs.100).aspx - Neeraj Dubey
@AntonBelev 因为GridView可以通过控件发送CommandArgument。 - YaakovHatam
2个回答

32

完全有可能:

myCkck.Attributes.Add("Value", "blq blq");

string chckValue = myChck.Attributes["Value"].ToString();

谢谢。它正在工作。我已经使用了几次,但是在将自定义属性的值保留到视图状态或类似状态时遇到了一些问题。我不太记得问题是什么,但是我仍然对使用这些方法有一些担忧。无论如何,目前看来对我来说它似乎是有效的。 - Anton Belev

5

您可以创建一个新的类,继承CheckBox类(或任何其他控件类),并向派生类添加所需的任何其他属性。这样,您将获得一个更加扩展的CheckBox。

public class ExtendedCheckBox : CheckBox
{
    public string Value
    {
        get;
        set;
    }

    public ExtendedCheckBox : base()
    {

    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接