Вы можете получить доступ к зарегистрированным ролям пользователя из вида, подобного следующему:
<% if (Page.User.IsInRole("Admin")) { %>
<td>
<%= Html.DeleteButton("delete", model.ID) %>
</td>
<% } %>
и, возможно, ваш метод расширения с чем-то вроде:
public static string DeleteButton(this HtmlHelper html,
string linkText, int id)
{
return html.RouteLink(linkText,
new { ID = id, action = "Delete" },
new { onclick = "$.delete(this.href, deleteCompleted()); return false;" });
}
Очевидно, что я использую JavaScript для выполнения HTTP-УДАЛЕНИЯ в моем действии контроллера, чтобы сканеры страниц не могли случайно удалить данные из моих страниц. В моем случае я расширяю JQuery методом delete () в дополнение к глаголу HTTP.