你好,感谢您的回复。
我必须在很多页面中显示许多动作链接,并且我在用户角色之间有权限,所以我正在编码,如果在视图中,否则我想简短,这就是为什么我去htmlHelper扩展方法这里是我的代码。
public static MvcHtmlString ValidationActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, string AllowedRole)
{
if (User.IsInRole(AllowedRole))// its given me error The User dosent exist in current context Am i missing some namespace or what ?
{
htmlHelper.ActionLink(linkText, actionName);
}
}
答案 0 :(得分:1)
您可以使用
访问扩展方法中的User
public static MvcHtmlString ValidationActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, string AllowedRole)
{
var user = htmlHelper.ViewContext.HttpContext.User;
或者,您可以通过向扩展方法添加其他参数来将User
传递给该方法。