C# 基于if条件的GridMvc渲染列
我正在尝试根据gridmvc中的条件呈现列,如下所示:C# 基于if条件的GridMvc渲染列,c#,asp.net-mvc-4,gridview,C#,Asp.net Mvc 4,Gridview,我正在尝试根据gridmvc中的条件呈现列,如下所示: @model IEnumerable< BasicSuprema.Models.BioUserModel > @using GridMvc.Html @helper CustomRenderingOfColumn(BasicSuprema.Models.BioUserModel users) { if (users.cardType == 0) { <span class="label l
@model IEnumerable< BasicSuprema.Models.BioUserModel >
@using GridMvc.Html
@helper CustomRenderingOfColumn(BasicSuprema.Models.BioUserModel users)
{
if (users.cardType == 0)
{
<span class="label label-success">Normal</span>
}
else if(users.cardType == 1)
{
<span class="label label-important">ByPass</span>
}
else
{
}
}
@Html.Grid(Model).Named("UsersGrid").Columns(columns =>
{
columns.Add(c => c.ID).Titled("ID");
columns.Add(c => c.cardType).Titled("Card Type")
.RenderValueAs(c => c.CustomRenderingOfColumn(c));
}).WithPaging(10).Sortable(true)
此错误在.RenderValueAs(c=>c.CustomRenderingOfColumn(c))行上代码>
我已经试过了
:“添加列时使用GridMvc和if语句”以及这一条这将是一个迟来的答案,但我最近根据if条件使用了RenderValueAs
。在您的例子中,错误非常明显,它表明BasicSuprema.Models.BioUserModel
作为CustomRenderingOfColumn
没有方法定义
所以,你应该改变它
.RenderValueAs(c => c.CustomRenderingOfColumn(c));
到
因为CustomRenderingOfColumn
不是模型的一部分。(BioUserModel
)
完整的代码看起来像
@Html.Grid(Model).Named("UsersGrid").Columns(columns =>
{
columns.Add(c => c.ID).Titled("ID");
columns.Add(c => c.cardType).Titled("Card Type")
.RenderValueAs(c => CustomRenderingOfColumn(c));
}).WithPaging(10).Sortable(true)
.RenderValueAs(c => CustomRenderingOfColumn(c));
@Html.Grid(Model).Named("UsersGrid").Columns(columns =>
{
columns.Add(c => c.ID).Titled("ID");
columns.Add(c => c.cardType).Titled("Card Type")
.RenderValueAs(c => CustomRenderingOfColumn(c));
}).WithPaging(10).Sortable(true)