我必须在运行中为某些元素设置一些 CSS样式:
<div runat="server" id="frmEntranceDate"
class='<%= dateCol %> uk-float-right'>foo</div>
但是输出html是这样的:
<div id="frmReport_frmEntranceDate_0" class="<%= dateCol %>
uk-float-right">foo</div>
如何在那里使用dateCol
值?它在后面的代码中定义,如果我从ASP.net元素中删除runat="server"
它可以工作,但我不能删除它。
答案 0 :(得分:3)
使用服务器端控件无法做到这一点。您需要在代码隐藏文件中设置其值。
<强>标记强>:
<div id="frmEntranceDate" runat="server">
foo
</div>
<强> C#强>:
frmEntranceDate.Attributes["class"] = dateCol + " uk-float-right";
但是如果你真的想使用这种语法并在标记中设置值,我能想到的唯一方法就是绑定控件。
请注意,使用#
代替=
。
<强>标记强>:
<div id="frmEntranceDate" runat="server" class='<%# dateCol + " uk-float-right" %>'>
foo
</div>
<强> C#强>:
frmEntranceDate.DataBind();