0

我的目标是创建一系列可点击的按钮,每个按钮都有一个独特的图像。目前,这些图像在 CSS 中存储为类,这显示得很好 - 我可以通过 GImg EGCImg1、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

你错过了=之后<%

此外,您还可以执行以下操作:

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

而不是使用 String.Format 方法,只需i在类的末尾附加 。开销也少了一点。

就像=Response.Write

于 2012-11-19T21:39:51.167 回答
1

一种选择是使用内联 css,因此您可以使用 style="background: red;" 代替 class="classname"。这是无需更改太多代码的最简单方法。您还可以在 head 中生成动态 css,或从外部链接到生成的 css 文件。

于 2012-11-19T21:28:23.133 回答
0

您可以使用 Attributes.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 回答