Я мог бы подумать, что для этого нужно создать собственные версии методов расширения ввода . Например, вместо TextBox
вы можете создать TextBoxRoles
и определить его так:
public static MvcHtmlString TextBoxRoles(
this HtmlHelper htmlHelper,
string name,
string RolesEdit,
string RolesView
)
Тогда в коде это будет выглядеть так:
<%= Html.TextBoxRoles("Price", "Administrator","Administrator,Assistant") %>
Тогда ваша реализация TextBoxRoles
проверит роли текущего пользователя через User.IsInRole()
, чтобы определить, что должно появиться на странице.
Конечно, вам придется делать это для каждого используемого вами метода расширения ввода.