Как реализовать вкладки в частичном представлении в ASP MVC

Я не уверен, с чего начать реализацию вкладок в проекте MVC. Вот в чем проблема. Я хочу реализовать вкладки в частичном представлении, но я хочу, чтобы вкладки были доступны для всех моих контроллеров и представлений. Когда я кодирую вкладки, мне нужно знать текущий контроллер и представление, чтобы я мог изменить Html.ActionLink() с помощью вкладки QueryString.

Как я могу это сделать?

<%= Html.ActionLink(QuestionSort.SortArray[0], "Current View", "Current Controller", null, new { rel = "nofollow" })%>&nbsp;&nbsp;
<% for (int x = 1; x < QuestionSort.SortArray.Length; x++)
{ %>
    <%= Html.ActionLink(QuestionSort.SortArray[x], "Current View", "Current Controller", new { sort = Server.UrlEncode(QuestionSort.SortArray[x]) }, new { rel = "nofollow" })%>&nbsp;&nbsp;    
<% } %>

person Luke101    schedule 09.02.2010    source источник


Ответы (1)


Вы можете получить текущий контроллер из значений маршрута ViewContext.

Я бы порекомендовал, поскольку вы добавите в это некоторый код, чтобы решить это, вы можете написать метод HtmlHelper для генерации части вашего HTML здесь, однако:

<%= this.ViewContext.RouteData.Values["controller"] %>

Распечатает имя контроллера

и

<%= this.ViewContext.RouteData.Values["action"] %

Действие

Должно быть достаточно просто построить контекстное меню из этих данных.

person Rob Ashton    schedule 09.02.2010