在視圖中,例如,在「_Layout.cshtml」如何知道控制器是否在ASP.net中有屬性?
如何獲取調用此視圖的控制器/操作?
找到控制器/操作名稱後,如何獲取它具有的屬性列表?或測試它是否有屬性?
謝謝。
在視圖中,例如,在「_Layout.cshtml」如何知道控制器是否在ASP.net中有屬性?
如何獲取調用此視圖的控制器/操作?
找到控制器/操作名稱後,如何獲取它具有的屬性列表?或測試它是否有屬性?
謝謝。
@ViewContext.Controller
將爲您提供返回此視圖的控制器實例。一旦獲得實例,就可以獲得該類型,並且一旦獲得了類型,即可獲得該類型所裝飾的屬性。編寫自定義HTML助手來完成這項任務可能是值得的:
public static class HtmlExtensions
{
public static bool IsDecoratedWithFoo(this HtmlHelper htmlHelper)
{
var controller = htmlHelper.ViewContext.Controller;
return controller
.GetType()
.GetCustomAttributes(typeof(FooAttribute), true)
.Any();
}
}
你的問題
第一部分回答了在這裏:http://stackoverflow.com/questions/1083774/getting-the-name-of-the-在asp-net-mvc中的控制器和動作方法在視圖中 –
你想要action \ controller屬性嗎?看到這個動作屬性的答案:stackoverflow.com/a/8369591/601179 – gdoron