你如何以编程方式将css类应用于asp.net控件?

时间:2011-09-27 15:35:41

标签: c# asp.net css

我想知道如何通过C#中的后端将CSS类应用于ASP.NET控件(在本例中为TextBox)。例如:

<asp:TextBox ID="firstName" CssClass="input left" runat="server" Text="First Name" />

如果我在后端测试的值为true,我想在“selected”元素中添加另一个类。

<asp:TextBox ID="firstName" CssClass="input left selected" runat="server" Text="First Name" />

最好的方法是什么?谢谢!

7 个答案:

答案 0 :(得分:3)

你可以这样做:

 firstName.CssClass = "input left selected".

如果要附加到任何现有的类名,请执行以下操作:

firstName.CssClass += " selected";

答案 1 :(得分:0)

它只是WebControl的字符串属性:

firstName.CssClass += " selected";

答案 2 :(得分:0)

if(yourCondition) {
    var css = "myClass";
    if(String.IsNullOrWhiteSpace(element.CssClass))
        element.CssClass = css;
    else
        element.CssClass += " " + css;
}

答案 3 :(得分:0)

我认为你可以通过下面的正常方式做到这一点:

      if (value.Equals(true))
       {
            firstName.CSSClass = "input left selected";
       }

希望这会有所帮助!!

答案 4 :(得分:0)

只需在ViewDataDictionary中为该类创建一个条目。

后端看起来像

ViewData["selectedclass"] = <conditionalstatement> ? "selected" : "";

视图将是

    <asp:TextBox ID="firstName" CssClass="input left <%= ViewData["selectedclass"]%>" runat="server" Text="First Name" />  

答案 5 :(得分:0)

您可以实现添加cssClass,如

firstName.CssClass = "input left selected";

为文本框制作onClick事件

<asp:TextBox ID="firstName" CssClass="input left" runat="server" Text="First Name" OnClick="firstName_Click"  />

然后在代码隐藏中:

void firstName_Click(Object sender, EventArgs e) {
    MyTextBox.CssClass = "input left selected";
}

答案 6 :(得分:0)

你可以使用ui控件的属性

firstName.Attributes["css"]="Your Class Name";