基本的に私の質問は、この質問に基づいています:
彼らが前の質問でそれを解決した方法は、ハッキーな方法です。この問題について少し読んだところ、ユーザーの役割に基づいてボタンを表示または非表示にするカスタム HTML ヘルパーを作成する必要があることがわかりました。
したがって、ビューでは次のようになります。
@HTML.MyCustomHelperWhichShowButton("ButtonText");
しかし、そのようなヘルパーをどのように実装すればよいでしょうか?
基本的に私の質問は、この質問に基づいています:
彼らが前の質問でそれを解決した方法は、ハッキーな方法です。この問題について少し読んだところ、ユーザーの役割に基づいてボタンを表示または非表示にするカスタム HTML ヘルパーを作成する必要があることがわかりました。
したがって、ビューでは次のようになります。
@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
と、このヘルパーがすべてのビューのスコープに含まれます。