【问题标题】:How do you programmatically apply a css class to an asp.net control?如何以编程方式将 css 类应用于 asp.net 控件?
【发布时间】:2011-09-27 15:35:41
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 从这个I'd like to add another class to the element "selected" if a value is true that I test for on the backend. 看来你想检查一个计算结果为 true/false 的表达式。你想测试什么?

标签: c# asp.net css


【解决方案1】:

你可以这样做:

 firstName.CssClass = "input left selected".

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

firstName.CssClass += " selected";

【讨论】:

    【解决方案2】:

    只是WebControl的字符串属性:

    firstName.CssClass += " selected";
    

    【讨论】:

      【解决方案3】:
      if(yourCondition) {
          var css = "myClass";
          if(String.IsNullOrWhiteSpace(element.CssClass))
              element.CssClass = css;
          else
              element.CssClass += " " + css;
      }
      

      【讨论】:

        【解决方案4】:

        我认为您可以按照以下正常方式执行此操作:

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

        希望这会有所帮助!

        【讨论】:

          【解决方案5】:

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

          后端看起来像

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

          视图会是

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

          【讨论】:

            【解决方案6】:

            你可以实现添加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";
            }
            

            【讨论】:

              【解决方案7】:

              你可以使用ui控件的属性

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

              【讨论】:

                猜你喜欢
                • 2011-09-26
                • 1970-01-01
                • 1970-01-01
                • 2017-05-18
                • 1970-01-01
                • 2012-12-04
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多