#asp.net #asp.net-mvc #webgrid
#asp.net #asp.net-mvc #webgrid
Вопрос:
У меня есть ASP.Net Веб-сетка MVC и когда столбец ‘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>)
Ответ №1:
У меня нет тестового стенда, который я мог бы использовать для тестирования этого примера, но возможно ли использовать ?: operator?
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";
}
}
Комментарии:
1. сетка. Столбец(имя_колонки: «Процент успеха», формат: элемент => @item. Success_Rate < 0 ? «N / A»: @item. Success_Rate)
Ответ №2:
В данный момент я не нахожусь за компьютером с компилятором C #, но вы должны быть в состоянии выполнить условную проверку прямо в определении столбца. Что-то вроде этого:
grid.Column(columnName: "SuccessRate",
format: @if(item.Success_Rate < 0) { <text>N/A</text> }
else { item.Success_Rate })