基本上我的问题是基于这个问题:
他们在之前的问题中解决它的方式是一种 hacky 方式。我阅读了一些关于这个问题的信息,发现您必须创建自定义 HTML Helper,它会根据用户角色显示或隐藏按钮。
所以它在视图中看起来像:
@HTML.MyCustomHelperWhichShowButton("ButtonText");
但是我应该如何实现这样的助手呢?
基本上我的问题是基于这个问题:
他们在之前的问题中解决它的方式是一种 hacky 方式。我阅读了一些关于这个问题的信息,发现您必须创建自定义 HTML Helper,它会根据用户角色显示或隐藏按钮。
所以它在视图中看起来像:
@HTML.MyCustomHelperWhichShowButton("ButtonText");
但是我应该如何实现这样的助手呢?
但是我应该如何实现这样的助手呢?
通过向类编写扩展方法HtmlHelper
:
public static class HtmlExtensions
{
public static IHtmlString MyCustomHelperWhichShowButton(this HtmlHelper html, string text)
{
var isAuthnticated = html.ViewContext.HttpContext.User.Identity.IsAuthenticated;
if (isAuthnticated)
{
return html.ActionLink(text, "MyListings", "List");
}
return new HtmlString(string.Empty);
}
}
并通过将定义此类的命名空间添加到文件的<namespaces>
部分中,~/Views/web.config
这将使该帮助程序进入所有视图的范围。