我在.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