我在.aspx頁面上有一個listview控件。在這個列表視圖裏面我想檢查來自數據庫的「Type」屬性。這裏是示例代碼:如果在帶有Eval()或DataBinder.Eval()的ListView中的語句?
<ItemTemplate>
<%# if(Convert.ToInt32(DataBinder.Eval(Container.DataItem,"Type")) == 0){ %>
<tr class="item">
<td>
<%# Convert.ToDateTime(Eval("WorkDate")).ToShortDateString() %>
</td>
<td style="text-align: center;">
<%# Eval("SkillName") %>
</td>
</tr>
<%# } else if (Convert.ToInt32(DataBinder.Eval(Container.DataItem,"Type")) == 1) {%>
<tr class="item">
<td colspan="2">
<strong><%# Convert.ToDateTime(Eval("WorkDate")).ToShortDateString() %></strong>
</td>
</tr>
<% } %>
</ItemTemplate>
作爲最後的手段,我試圖用戶的DataBinder.Eval(),但我得到的異常「預期類,委託,枚舉,接口或結構」。我能做什麼錯了?在代碼隱藏中編寫函數對我來說不是一種選擇。有沒有一種方法來實現這一目標?
「編寫代碼隱藏的功能是不是我的選擇」 爲什麼呢?有一個ItemDataBound事件,你可以很容易地做到這一點:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.itemdatabound.aspx – 2010-11-11 17:09:49
問題是與控制語句,它們在項目模板中是不可以的。 – Hogan 2010-11-11 17:14:49