2011-04-17 53 views
1

我有一個ASP.Net MVC Webgrid,當'SuccessRate'列小於零時,我需要顯示'N/A'。你知道我會怎麼做嗎?以下是我的CSHTML的一部分:如何在ASP.Net MVC WebGrid列中隨時更改值?

@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>) 

回答

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"; 
    }   
} 
+0

我能得到的代碼通過使用此工作: – KeelRisk 2011-04-17 05:40:48

+0

grid.Column(COLUMNNAME: 「成功率(%)」,格式:?項目=> @ item.Success_Rate <0「N/A「:@ item.Success_Rate) – KeelRisk 2011-04-17 05:41:03

0

我不是在與此刻C#編譯器一臺電腦,但你應該能夠在列定義中的權利做一個條件檢查。事情是這樣的:

grid.Column(columnName: "SuccessRate", 
      format: @if(item.Success_Rate < 0) { <text>N/A</text> } 
        else { item.Success_Rate })