gpt4 book ai didi

asp.net-mvc-3 - 如何根据当前用户的角色隐藏 WebGrid 列?

转载 作者:行者123 更新时间:2023-12-04 18:27:56 25 4
gpt4 key购买 nike

我需要使用 webgrid 做一个网格,我想根据用户角色隐藏编辑操作的列(标题和项目)。

我如何使用 webgrid 做到这一点?

最佳答案

您可以编写一个辅助方法来根据用户角色动态生成列:

public static class GridExtensions
{
public static WebGridColumn[] RoleBasedColumns(
this HtmlHelper htmlHelper,
WebGrid grid
)
{
var user = htmlHelper.ViewContext.HttpContext.User;
var columns = new List<WebGridColumn>();

// The Prop1 column would be visible to all users
columns.Add(grid.Column("Prop1"));

if (user.IsInRole("foo"))
{
// The Prop2 column would be visible only to users
// in the foo role
columns.Add(grid.Column("Prop2"));
}
return columns.ToArray();
}
}

然后在你看来:

@{
var grid = new WebGrid(Model);
}
@grid.GetHtml(columns: grid.Columns(Html.RoleBasedColumns(grid)))

关于asp.net-mvc-3 - 如何根据当前用户的角色隐藏 WebGrid 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5160551/

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