這是我的情況。我有一個Repeater綁定到一個List,它正在渲染Table行。我正在使用<%#DataBinder.Eval(Container.DataItem,「SomeStringProperty」)%>來顯示我的數據。問題是,當SomeStringProperty爲null,string.Empty或「」(一些空格)時,我的TD邊框不會呈現。它彷彿空空蕩蕩,相當難看。我不知道如何處理這個。谷歌搜索沒有屈服於答案。也許這裏有人可以告訴我。謝謝..當ASP.NET Repeater呈現Binder.Eval Table TD時,我該如何處理null或string.Empty?
0
A
回答
3
我會用一個Literal控件替換對DataBinder.Eval的調用並處理Repeater的ItemDataBound事件(OnItemDataBound)。在處理程序中,檢查該項是否爲空,並返回非破壞空間
如果是。
你也可以換行評估和演示的方法調用同樣的效果:
<%# CheckNull(Eval("SomeStringProperty")) %>
在後面的代碼
:
protected string CheckNull(object value)
{
return string.IsNullOrEmpty(value) ? "SEE BELOW" : value.ToString();
}
我不能得到這個正確顯示 - 見BELOW應替換爲
除了string.IsNullOrEmpty(如果它來自數據庫)之外,您可能需要將值與System.DBNull.Value進行比較。
我試過你的建議掛鉤我的Repeater的ItemDataBound事件。即使當我用string替換string.Empty/null時,我的
相關問題