gpt4 book ai didi

c# - GridMvc 根据 if 条件渲染列

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:11 26 4
gpt4 key购买 nike

我正在尝试根据 gridmvc 中的条件呈现列,如下所示:

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

编译错误

'BasicSuprema.Models.BioUserModel' does not contain a definition for 'CustomRenderingOfColumn' and no extension method 'CustomRenderingOfColumn' accepting a first argument of type 'BasicSuprema.Models.BioUserModel' could be found 

此错误在行 .RenderValueAs(c => c.CustomRenderingOfColumn(c));我已经尝试了 SO 的解决方案

1 : https://stackoverflow.com/a/24415952/2083526 “添加列时的 GridMvc 和 if 语句”以及这个 gridmvc.codeplex.com

最佳答案

这将是一个迟到的答案,但我最近使用了基于 if 条件的 RenderValueAs。在您的情况下,错误非常明显,表明 BasicSuprema.Models.BioUserModel 没有方法定义为 CustomRenderingOfColumn

所以,你应该改变它;

.RenderValueAs(c => c.CustomRenderingOfColumn(c));

.RenderValueAs(c => CustomRenderingOfColumn(c));

因为 CustomRenderingOfColumn 不是您模型的一部分。 (生物用户模型)

完整的代码是这样的;

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

关于c# - GridMvc 根据 if 条件渲染列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29003529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com