Привет, у меня проблемы с этим.Я занимаюсь разработкой приложения asp.net mvc 2.У меня определено частичное представление menu.ascx.это включается на всех страницах моего сайта в главной странице Site.Master.Теперь я хочу, чтобы мое меню менялось в зависимости от типа пользователя.Вот что я сделал сначала:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<li><%: Html.ActionLink("Home", "Index", "Home")%></li>
<%
ExtendedMemberShip.MemberShipUser user = ExtendedMemberShip.MemberShip.GetUser(HttpContext.Current.User.Identity.Name);
string course = "Course/Index/";
if(user != null) course += user.UserName;
%>
<%
if(user!=null && user.Type == "stud") {
%>
<li><%: Html.ActionLink("Courses", "Index", course)%></li>
<%
}
%>
<li><%: Html.ActionLink("Votes", "About", "Home")%></li>
<li><%: Html.ActionLink("Comments", "About", "Home")%></li>
<li><%: Html.ActionLink("Exam archives", "About", "Home")%></li>
Проблема в том, что я не должен делать это в представлении!Но поскольку это MasterPage, ни один контроллер на самом деле не вызывает его, поэтому я не знаю, где поместить информацию в словарь ViewData или ViewModel, чтобы передать ее на эту главную страницу ... какие-нибудь идеи?