【发布时间】:2014-10-17 19:58:07
【问题描述】:
我想使用表单视图显示学生成绩单。报告卡将有额外的列,如果它是来自第二学期的报告卡和另外 2 列,如果它来自第三学期。要找出它是哪个术语,我需要评估 TermNumber 属性,并显示适当的标题。这是我的标记代码:
<% if ((int)Eval("TermNumber") == 2) %>
<% { %>
<th> 1st Term Score</th>
<% } %>
<% else if ((int)Eval("TermNumber") == 3) %>
<% { %>
<th> 1st Term Score</th>
<th> 2nd Term Score</th>
<% } %>
这会导致运行时错误:Eval()、XPath() 和 Bind() 等数据绑定方法只能在数据绑定控件的上下文中使用。
这是因为 Eval 只能是 标记的一部分。
使用 会导致编译时错误,并且 VS13 智能感知会说它的无效术语。
我的问题是:我怎样才能成功地实现有条件地显示列的目标。我可以在数据绑定控件的标记中使用 if 条件吗?或者有没有其他方法可以实现这一点,而无需为每个术语创建单独的表单视图。
Form View,还有一个repeater控件显示科目分数,也需要用到if条件。
【问题讨论】:
标签: c# asp.net entity-framework webforms formview