我有以下代码:
<asp:LinkButton runat="server"
CommandName="SwitchStep"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID")%>'
CssClass="<%# some conditional code here %> activestep">
Step <%# Container.ItemIndex + 1 %>: <%# DataBinder.Eval(Container.DataItem, "ID")%>
</asp:LinkButton>
内联语句在CommandArgument
属性中起作用,我知道它们在文本属性中起作用。但是,出于某种原因,在CssClass
属性中,内联语句在 HTML 输出中结束(未解析)!我勒个去?
在 Chrome 中:
<a class="<%= 'steptab' %>" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("StepControl:_ctl1:_ctl0", "", true, "", "", false, true))'>
Step 1: section_name</a>
有没有人遇到过这个?我不确定为什么这不起作用。这似乎不合逻辑,我有点沮丧。
一些注意事项:
- 如果我在这里放一个不属于的字符,例如“?” (这是VB),编译器抱怨。
- 任何服务器标记(<%、<%# 等)都会显示在 HTML 中。
- 这是在中继器控件内。等等,那是在代码中。
- 如果我在内联语句之后删除“activestep”类,内联语句仍然会出现,尽管有一次我根本没有出现在 HTML 中的类属性。
有任何想法吗?谢谢你的帮助!