2

こんにちは、コードビハインドから動的にマスターページにあるタグを申請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>

ここに画像の説明を入力 私のコンテンツページでは<li>、次のようにアクセスしました

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

しかし、cssここで必要なものを適用できません。誰かが私を助けてくれます

4

3 に答える 3

6

この場合、はのプロパティを含まないControlタイプです。HtmlGenericControlCssClass

コントロールを HtmlGenericControl 型にキャストする必要があります。例えば

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

これにより、要素にスタイルを適用するための 2 つの選択肢が与えられます。Styleプロパティまたはプロパティのいずれかを使用できAttributesます。

このStyleプロパティを使用すると、要素にインライン スタイルを追加できます。例:

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

これにより、要素が次のようにレンダリングされます。

style="color:red;"

他のオプションは、Attributesを追加できるようにするプロパティを使用することですclass

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

HtmlGenericControlの詳細を読む

于 2013-01-30T09:12:57.613 に答える
2

コントロールが見つかったら、次を使用してcssを追加します

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

一部のプロパティをオーバーライドする場合は、使用できます

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

etc.Here は良いリンク
です CSS で "!important" を使用すると、どのような影響がありますか?

同様の質問があります
C# - HTML要素の属性を変更する方法

編集 1.

最初にhtmlジェネリックコントロールにキャストする必要があります

 HtmlGenericControl  li = (HtmlGenericControl)(Page.Master.FindControl("nav_members"));
 li .Style.Add("width", "100px !important");
于 2013-01-30T09:05:02.847 に答える
0

試す :

nav_members.Attributes.Add("class", value);
于 2013-01-30T09:07:42.267 に答える