ASP.Net MVC проверяет роль пользователя в членстве в aspnet - PullRequest
2 голосов
/ 23 июля 2010
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%
    if (Request.IsAuthenticated) {
%>
        Welcome <b><%= Html.Encode(Page.User.Identity.Name) %></b>!
        [ <%= Html.ActionLink("Log Off", "LogOff", "Account") %> ]
        <br /> 
<% if(User.IsInRole("Administrator")) { %>
        <br />
        <%= Html.ActionLink("Home", "Index", "Home") %> | <%= Html.ActionLink("About", "About", "Home") %> | <%= Html.ActionLink("UserControl","UserControl","Account")%>
        <% } else { %>
        <br />
        <%= Html.ActionLink("Home", "Index", "Home") %> | <%= Html.ActionLink("About", "About", "Home") %>
     <%} %>

Я хочу проверить роль пользователя, если только он является администратором, тогда пользователь может увидеть ссылку на элемент управления пользователя. Когда я пытаюсь запустить этот код, он выдает мне сообщение об ошибке «Данные.Пользователь "не содержит определения для" IsInRole ""

1 Ответ

4 голосов
/ 23 июля 2010

Я не верю, что тип ViewUserControl имеет свойство User, поэтому компилятор считает, что вы пытаетесь получить доступ к своему объекту домена типа Data.User. В частичном управлении вы можете получить доступ к экземпляру User, используя HttpContext.Current.User, где должен работать метод IsInRole.

...