0

私の目標は、それぞれが固有の画像を持つ一連のクリック可能なボタンを作成することです。現在、これらの画像はクラスとしてCSSに保存されており、これは問題なく表示されます。GImgEGCImg1、GImg EGCImg2などで呼び出すことができます。ただし、これを動的にして、コピーではなくX個のボタンを設定できるようにします。 /コードを貼り付ける(私はやりたくない)。以下は私が見つけた唯一の「有用な」リソースですが、残念ながら彼らの提案は私にはうまくいきませんでした。

http://forums.asp.net/t/1619813.aspx/1

http://www.codeproject.com/Articles/14033/Dynamic-CSS-Styling-in-ASP-NET-A-Flexible-Approach

したがって、基本的に以下のコードは、手動で{0}を設定すると完全に機能します。この値を設定すると、すべて同じ画像で適切に一覧表示されます。

<%string.Format( "GImg EGCImg {0}"、i);のみ %>が壊れています。

<% for (int i = 0; i < 3; i++){ %>
  <li>
     <label class="baseTemplate">
        <b>
           <%=Html.RadioButtonFor(x => x.Input.MailTemplate, i)%>
        </b><span class="<% string.Format("GImg EGCImg{0}", i); %>"><span class="CheckMark"/>
            </span>
      </label>
   </li><% } %>

どんな提案でも大歓迎です、ありがとう!

4

3 に答える 3

1

1つのオプションは、インラインcssを使用することです。したがって、class = "classname"の代わりに、style = "background:red;"を実行します。これは、コードをあまり変更せずに行う最も簡単な方法です。ヘッドで動的cssを生成したり、生成されたcssファイルに外部からリンクしたりすることもできます。

于 2012-11-19T21:28:23.133 に答える
1

あなたは=後を逃している<%

また、次のことを行うことができます。

<span class="GImg EGCImg<%= i.ToString() %>"><span class="CheckMark"/></span>

String.Formatメソッドを使用するのではなくi、クラスの最後にを追加するだけです。オーバーヘッドも少し少なくなります。

=と言っているようなものですResponse.Write

于 2012-11-19T21:39:51.167 に答える
0

Elements.AddとAttributes.Removeを使用できます

aspxファイル

<span id="YourContainer" runat="server">Report Type</span>

c#コードビハインド

YourContainer.Attributes.Add("class", "active");
YourContainer.Attributes.Remove("class");
于 2013-07-24T16:58:23.093 に答える