如何根据Eval()值设置条件?

时间:2014-01-24 00:59:15

标签: c# asp.net webforms

我有这段代码

<div class="result correct"><%# Eval("QandAID") %></div>

我想知道如何设置值的条件,即如果eval值为2,则将div类改为“结果不正确”,否则保留为“结果正确”。这也是问题的一部分,如果有人知道如何做到这一点(根据条件改变div类),那将是一个奖金。

哦,我在转发器中绑定了一个数据集。

2 个答案:

答案 0 :(得分:2)

在Page类中定义一个属性:

public int MyValue { get; set; }

然后以这种方式在页面中访问它:

<div style='width: <%=MyValue %>px'></div>

此示例应间接回答您的问题,并为如何将值放入HTML中可能会或可能不会绑定到DataRow提供更多可能性。

另一个例子:

<%# Eval("QandAid") == 2 ? "result incorrect" : "result correct" %>

或者:

<div class='<%# Eval("QandAid") == 2 ? "class1" : "class2" %>'>

答案 1 :(得分:1)

这应该在标记之外发生。使类成为模型的属性,并根据您的条件进行设置:

class YourModel {
    public int QandAID { get; set; }
    public string ValidityClass {
        get {
            return QandAID == 1 ? "correct" : "incorrect";
        }
    }
}

然后你的转发器模板变成这样:

<div class='result <%# Eval("ValidityClass") %>'><%# Eval("QandAID") %></div>