我将以下代码放入用户控件
<td class="column <%# GetCssClass(SomeAttributes) %>" >
并且它正常工作,使用GetCssClass方法输出正确的CSS类。但我也有该表的其他一些单元格,代码如下
<td class="column <%# GetCssClass(SomeAttributes) %>" runat="server" Visible="<%# ShowColumn %>"
存在一些问题,并且没有评估方法GetCssClass,而是将其字面上发送到输出。
有任何帮助吗? (我是一个新的asp.net开发人员)
答案 0 :(得分:1)
当我们尝试将参数/对象传递到runat="server"
行时,我们使用<%# ..%>
您可以使用Visible="<%# ShowColumn %>
,其中ShowColumn
是布尔值。
在这种情况下class="column <%# GetCssClass(SomeAttributes) %>"
你不是试图传递一个参数而是一个字符串,为此,<%# GetCssClass(SomeAttributes) %>
被视为一个字符串。
此class="column <%# GetCssClass(SomeAttributes) %>"
是转换为字符串,并呈现为字符串。渲染GetCssClass返回字符串的替代方法是使用转换为字符串值的<%= %>
并将其放在html上(不传递给控件)
这个class="<%# GetCssClass(SomeAttributes) %>"
是GetCssClass
这个Visible="<%# ShowColumn %>"
在Visible变量上放置了ShowColumn值。