为<li>标签应用css,在主页中使用ASP.Net </li>

时间:2013-01-30 08:57:44

标签: c# asp.net master-pages

大家好,我想将css应用于<li>标签,这是主页中动态显示的代码,这是我的设计

<div id="primary_nav">
    <ul>
       <li class="left active" id="nav_discussion" runat="server">
           <a title="Go to Forums" href="">
               Forums
           </a>
       </li>
       <li class="left" id="nav_members" runat="server">
           <a title="Go to Member List" href="Members.aspx">
               Members
           </a>
       </li>
    </ul>
 </div>

enter image description here 在我的内容页面中,我访问了<li>,如下所示

Control li = Page.Master.FindControl("nav_members");

但是我无法应用所需css这里有人可以帮助我

3 个答案:

答案 0 :(得分:6)

在这种情况下,您的Control类型为HtmlGenericControl,但不包含CssClass的属性。

您需要将控件转换为HtmlGenericControl类型。 e.g。

System.Web.UI.HtmlControls.HtmlGenericControl li = (System.Web.UI.HtmlControls.HtmlGenericControl) this.Page.Master.FindControl("nav_members");

然后,这将为您提供两种将样式应用于元素的选择。您可以使用Style属性或Attributes属性。

Style属性允许您为元素添加内联样式,例如:

li.Style.Add("Color", "Black");

这将使元素呈现:

style="color:red;"

您的另一个选择是使用Attributes属性,以便添加class

li.Attributes.Add("class", "nameofyourclass");

详细了解HtmlGenericControl

答案 1 :(得分:2)

如果找到控件,则使用以下命令添加css

 Control li = Page.Master.FindControl("nav_members");
 li .Style.Add("float", "left");

如果要覆盖某些属性,则可以使用

  li .Style.Add("width", "100px !important");

等。这是一个很好的链接
What are the implications of using "!important" in CSS?

这是一个类似的问题 C# - How to change HTML elements attributes

编辑1。

您需要先将其转换为html通用控件

 HtmlGenericControl  li = (HtmlGenericControl)(Page.Master.FindControl("nav_members"));
 li .Style.Add("width", "100px !important");

答案 2 :(得分:0)

尝试:

nav_members.Attributes.Add("class", value);