【发布时间】:2014-01-24 00:59:15
【问题描述】:
我有这个代码
<div class="result correct"><%# Eval("QandAID") %></div>
我想知道如何设置值的条件,即如果 eval 值为 2,则将 div 类更改为“结果不正确”,否则保留为“结果正确”。如果有人知道如何做到这一点(根据条件更改 div 类),这也是问题的一部分,那将是一个奖励。
哦,我在一个绑定到数据集的转发器中拥有该代码。
【问题讨论】:
我有这个代码
<div class="result correct"><%# Eval("QandAID") %></div>
我想知道如何设置值的条件,即如果 eval 值为 2,则将 div 类更改为“结果不正确”,否则保留为“结果正确”。如果有人知道如何做到这一点(根据条件更改 div 类),这也是问题的一部分,那将是一个奖励。
哦,我在一个绑定到数据集的转发器中拥有该代码。
【问题讨论】:
在 Page 类中定义一个属性:
public int MyValue { get; set; }
然后在页面中这样访问:
<div style='width: <%=MyValue %>px'></div>
此示例应间接回答您的问题,并为如何将值放入可能绑定或不绑定到 DataRow 的 HTML 提供更多可能性。
另一个例子:
<%# Eval("QandAid") == 2 ? "result incorrect" : "result correct" %>
或者:
<div class='<%# Eval("QandAid") == 2 ? "class1" : "class2" %>'>
【讨论】:
这应该发生在标记之外。将类设为模型的属性并根据您的条件进行设置:
class YourModel {
public int QandAID { get; set; }
public string ValidityClass {
get {
return QandAID == 1 ? "correct" : "incorrect";
}
}
}
然后你的转发器模板变成这样:
<div class='result <%# Eval("ValidityClass") %>'><%# Eval("QandAID") %></div>
【讨论】:
Eval 使用反射来查找数据绑定对象上的字段或属性。它不寻找方法。