Как я могу создать помощник Html, такой как Html.BeginForm

У меня есть метод расширения, который проверяет, может ли пользователь видеть часть веб-страницы на основе роли.

Если я просто удалю содержимое, это принесет мне больше работы, так как все отсутствующие формы не будут правильно зарегистрированы при сохранении, и мне придется иметь дело с этим поведением, изменив весь свой код, поэтому я подумал, почему бы просто не использовать display: none; attribute?

Я хотел бы иметь что-то вроде:

@using(Html.RoleAccess(currentUser, RoleAccessType.Content_General_Website))
{
    ...
}

и чтобы это было бы написано что-то вроде:

<div class="role_Content_General_Website" style="display:none;">
    ...
</div>

или использовало display: block; , если пользователь имеет доступ ...

Я могу создать простой HtmlHelper , но как мне написать такой, который также выводит окончание

?

public static string RoleAccess(
         this HtmlHelper helper, 
         UserInfo user, 
         RoleAccessType role)
{
   return 
       String.Format(
            "<div class='role_{0}' style='display:{1}'>", 
            role.ToString(), user.HasAccess(role));
}
14
задан balexandre 28 November 2011 в 07:08
поделиться