我正在尝试使用数据绑定和<td>
来控制是否呈现某些runat="server"
元素:
<td runat="server" visible="<%# this.SomeBool %>"><tr>Hello world!</tr></td>
麻烦的是SomeBool
属性没有被调用。
如果我明确将visible设置为false,就像这样:
<td runat="server" visible="False"><tr>Hello world!</tr></td>
然后一切都很好,元素不会被渲染。
如何让这个数据绑定工作?
答案 0 :(得分:3)
我的方法没有被调用的原因是因为我的页面上的DataBind()方法没有被调用 - 即使只是将以下内容放到页面某处也没有做任何事情:
<%# "Hello world" %>
我必须在页面顶部添加this.DataBind()
的来电:
<%@ Page ... %>
<% this.DataBind(); %>
然后每个人都按预期工作。
答案 1 :(得分:1)
尝试类似:
<td <%# this.SomeBool ? "" : "style=\"display:none;\"" %>><tr>Hello world!</tr></td>
答案 2 :(得分:1)
尝试围绕&lt; %%&gt;的单引号标记:
<tr runat="server" visible='<%# this.SomeBool %>'><td>Hello world!</td></tr>
塞尔吉奥的想法看起来也很整洁。