基本上我的问题是基于这个问题:
Show menu item only for logged-on users
他们在prewouse问题中解决它的方式是一种hacky方式。我读了一下这个问题,发现你必须创建自定义HTML Helper,它将根据用户角色显示或隐藏按钮。
所以它在View中看起来像是:
@HTML.MyCustomHelperWhichShowButton("ButtonText");
但我应该如何实施这样的帮助呢?
答案 0 :(得分:1)
但我应该如何实施这样的帮助?
通过向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
部分,该部分会将此帮助程序纳入您所有视图的范围。