gpt4 book ai didi

c# - "if"Formview 标记中的条件

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:35 26 4
gpt4 key购买 nike

我想使用表单 View 显示学生成绩单。如果是第二学期的成绩单,成绩单将有额外的栏目,如果是第三学期的成绩单,则将有另外两栏。要找出它是哪个术语,我需要评估 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() 等数据绑定(bind)方法只能在数据绑定(bind)控件的上下文中使用。

这是因为 Eval 只能是 <%# %> 标签的一部分。

使用 <%# %> 会导致编译时错误,并且 VS13 智能感知会提示其无效术语。

我的问题是:如何才能成功实现有条件地显示列的目标。我可以在 Databound 控件的标记中使用 if 条件吗?或者是否有任何其他方法可以实现此目的,而无需为每个术语创建单独的表单 View 。

Form View,也有repeater控件显示科目成绩,也需要利用if条件。

最佳答案

所以我正在回答我自己的问题。感谢鲁本接受的答案的提示:eval in if statement?

<th runat="server" visible='<%# (int)Eval("TermNumber") > 1 %>'>1st Term Score</th>
<th runat="server" visible='<%# (int)Eval("TermNumber") > 2 %>'>2nd Term Score</th>

这在转发器控件中也没有任何问题。由于带有 runat="Server"的 Visible 属性不包含任何标记,因此在最终输出中,它工作得非常好。代码也更优雅的 if block 。

关于c# - "if"Formview 标记中的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26432563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com