1

我有一个 ASP.Net MVC Webgrid,当“SuccessRate”列小于零时,我需要显示“N/A”。你知道我会怎么做吗?以下是我的cshtml的一部分:

@grid.GetHtml(
    tableStyle: "grid",
    headerStyle: "head",
    alternatingRowStyle: "alt",
    columns: grid.Columns(
        grid.Column("ABC"),
        grid.Column("Units", "units"),
        grid.Column("Min_Req_Res_Points", "mrrp"),
        grid.Column("Min_Req_NRes_Points", "mrnrp"),
        grid.Column("Total_Applications_Available", "avail"),
        grid.Column("Total_Applications_Submitted", "total"),
        grid.Column("Season_Number", "Season"),
        grid.Column("Year"),
        grid.Column(columnName: "SuccessRate",
          format: @<text>@item.Success_Rate</text>)
4

2 回答 2

0

我没有可用于测试此示例的测试平台,但是否可以使用 ?: 运算符?

format: @<text>@item.Success_Rate >= 0 item.Success_Rate : "N/A"</text>

那,或者您可以使用提供值的正确字符串表示的视图模型。

public string Success_Rate_Text
{
    get
    {
        return this.Success_Rate >= 0 ? SuccessRate.ToString : "N/A";
    }        
}
于 2011-04-17T04:59:33.557 回答
0

我目前不在一台带有 C# 编译器的计算机上,但您应该能够在列定义内进行条件检查。像这样的东西:

grid.Column(columnName: "SuccessRate", 
            format: @if(item.Success_Rate < 0) { <text>N/A</text> } 
                     else { item.Success_Rate })
于 2011-04-17T05:10:48.803 回答