Условная маршрутизация? - PullRequest
1 голос
/ 09 июня 2009

У меня есть простое частичное представление. Основная часть которых указана ниже. Как я могу разрешить ActionLinks правильно, когда это частичное представление отображается на странице, управляемой другим контроллером Другими словами - это частичное представление показывает области проекта для данного проекта. Что если этот PV появится на странице, управляемой контроллером проекта. Поведение маршрута по умолчанию здесь будет пытаться заставить код выполнить / Project / Edit или Project / Detail. Это не совсем то, что мне нужно. Вместо этого мне нужно перейти к / ProjectArea / Edit, например. Как это достигается в этом случае?

 <% foreach (var item in Model) { %>

    <tr>
        <td>
            <%= Html.ActionLink("Edit", "Edit", new { id=item.ProjectAreaId }) %> |
            <%= Html.ActionLink("Details", "Details", new {id=item.ProjectAreaId })%>
        </td>
        <td>
            <%= Html.Encode(item.Name) %>
        </td>
    </tr>

<% } %>

1 Ответ

3 голосов
/ 09 июня 2009

Вам нужно будет использовать перегрузку ActionLink, которая принимает строку контроллера. Я думаю, что это подпись выглядит так:

HtmlHelper.ActionLink(string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)

Есть ли свойство объекта item, которое вы могли бы использовать для распознавания controllerName? Может быть, установить какое-то другое значение viewdata в контроллере, которое вы можете добавить как controllerName ...?

HTHS, Charles

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...