在asp.net中处理.aspx文件中的'If'语句

时间:2009-07-10 02:12:24

标签: asp.net html

我的一个代码隐藏文件是将一些布尔值(从数据库中读取)发送到related.aspx文件。我想基于此布尔值更改容器分区的css样式类。我试着按照以下方式去做,

文件后面的代码:

protected void Page_Load(object sender, EventArgs e)
{
    Result.InnerText = "false";  //In real scenario, this is retrieved from a db
}

aspx文件:

<form id="form1" runat="server">
<% if (Result.InnerText == "true") { Result.Style["Color"] = "#000000"; } else { Result.Style["Color"] = "#ff0000"; } %>
<div id="Result" runat="server">
</div>
</form>

它似乎工作正常,但我不满意这个片段。这是这样做的吗?我正在做得好???

更新

还有其他办法吗?如果是这样哪个更好?注意:我必须能够在需要时更改css类名称(应用于除法)

3 个答案:

答案 0 :(得分:3)

您的结果Div已在代码隐藏中连接,因此您根本不需要将if语句放在ASPX中。

protected void Page_Load(object sender, EventArgs e)
{
    Result.InnerText = "false";  //In real scenario, this is retrieved from a db

    if (Result.InnerText == "true") {
        Result.Style["Color"] = "#000000";
    } else {
        Result.Style["Color"] = "#ff0000";
    }
}

答案 1 :(得分:2)

您可以在行后面的c#(代码隐藏)中设置颜色,从中获取数据库中的变量值。

Result.Style["Color"] = (myDBVariable == "false") ? "#000000" : "#ff0000"; 

答案 2 :(得分:2)

首先我要创建一个公共变量,比如result。然后在.aspx中执行此操作:

<div id="result" class='<%=(result?"someClass":"someOtherClass") %>'>
    Your text
</div>

或者如果您想在后端(.aspx)上完成所有操作:

<div id="result" runat="server">
    Your text
</div>

的.cs

if (result) {
    result.CssClass = "yourClass";
} else {
    result.CssClass = "anotherClass";
}