ASP.NET MVC2 рендеринг частичного представления с собственным контроллером - PullRequest
0 голосов
/ 15 февраля 2011

У меня есть следующее частичное представление NewsSummary.ascx, используемое для отображения списка сводок новостных статей:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<AkwiMemorial.Models.Article>>" %>
   <table>    
    <% foreach (var item in Model as IEnumerable<AkwiMemorial.Models.Article>)
       { %>

        <tr>            
             <td>
             <strong>
                <%= Html.Encode(String.Format("{0:MMMM dd yyyy}", item.DateCreated)) %>
             </strong>             
            </td>
            <td>
                <%= Html.Encode(item.Abstract) %>
            </td>
           <td> 
              <a class="link1"> <%= Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ })%></a>                               
            </td>          
        </tr>    
    <% } %>
    </table>

Мой HomeController выбирает статьи для отображения и создает запись в словаре ViewData файла Index.aspx.прежде чем он будет оказан.Частичное представление затем отображается в Index.aspx с использованием Html.RenderPartial со списками новостных статей, передаваемых в качестве модели следующим образом:

<% Html.RenderPartial("NewsSummary", ViewData["news"]); %>

Теперь у меня уже есть NewsController, который выбирает новостную статью по заданномуЯ бы.С кодом as as щелчок по ссылке Details каждой сводки статьи в частичном представлении NewsSummary вызывает действие в моем HomeController, которое называется Details.Как связать это действие с методом Details в моем NewsController.Я посмотрел на Html.RenderAction, но не смог определить, как он будет работать для меня в этом сценарии.

Есть идеи или я не так подхожу?

1 Ответ

0 голосов
/ 15 февраля 2011

Вы должны указать контроллер как параметр для Html.ActionLink, например:

<%= Html.ActionLink("Details", "Details", "News", new { /* id=item.PrimaryKey */ }, null) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...