2009-12-04 53 views
2

我想控制一些<td>元素是否被渲染或者不使用數據綁定和runat="server" HTML控件控制可視性:使用數據綁定

<td runat="server" visible="<%# this.SomeBool %>"><tr>Hello world!</tr></td> 

麻煩的是,SomeBool財產只是心不是被調用。

如果我明確設置爲false可見,像這樣:

<td runat="server" visible="False"><tr>Hello world!</tr></td> 

然後一切都很好,該元素不會被渲染。

如何獲取此數據綁定的工作?

+0

你怎麼知道SomeBool沒有被調用?你是否在調試器中用斷點檢查它?代碼是做什麼的?它返回一個字符串或布爾?您使用哪種控件進行數據綁定?此外,小點,但你的td和tr標籤是相反的。 – RickNZ 2009-12-04 11:20:38

+0

什麼是倒票?! – Justin 2009-12-04 13:11:52

+0

沒有必要堅持[解決]只是在幾天內將您的答案設置爲正確的答案 – 2009-12-04 13:17:45

回答

3

之所以wasnt被稱爲是因爲我的網頁上的DataBind()方法沒有被調用我的方法 - 即使只是把以下到頁面的某個地方什麼也沒做:

<%# "Hello world" %> 

我不得不到this.DataBind()通話添加到我的網頁的頂部:

<%@ Page ... %> 
<% this.DataBind(); %> 

而everyting然後都按預期。

1

試着這麼做:

<td <%# this.SomeBool ? "" : "style=\"display:none;\"" %>><tr>Hello world!</tr></td>

1

試着在<%%>標籤單引號:

<tr runat="server" visible='<%# this.SomeBool %>'><td>Hello world!</td></tr> 

Sergio的想法看起來整潔了。