Я использую asp.net MVC 2.0.У меня есть следующее расширение HtmlHelper:
AdminOnly(HtmlHelper helper, IPrincipal User, string htmlToRender)
{
//Render Html if have admin access.
}
Мне нужно изменить его для использования таким образом: AdminOnly (Пользователь) .TextBoxFor (x => x.MyField), чтобы он мог визуализировать поле редактированияMyField, только если у пользователя есть права администратора.
А пока я предлагаю следующее решение:
AdminOnly(this MvcHtmlString resString, IPrincipal User)
{
//Render Html if have admin access.
}
Итак, в коде я могу написать что-то вроде:
<%:Html.TextBoxFor(x=>x.MyProperty).AdminOnly(User)%>
Это работает, но я хотел бы иметь возможность добавить больше входных данных или больше гибкости для добавления текста до и после входных данных, например:
<%:Html.PlainText("Set your age: ").TextBoxFor(x=>x.Age).AdminOnly(User)%>
или
<%: Html.AdminOnly("Set your age: ", User).AddTextBoxFor(x=>x.Age)%>