我有以下部分视图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>
My HomeController获取要显示的文章,并在呈现之前在Index.aspx的ViewData字典中创建一个条目。然后在Index.aspx中使用Html.RenderPartial呈现部分视图,并将新闻文章列表作为其模型传递,如下所示:
<% Html.RenderPartial("NewsSummary", ViewData["news"]); %>
现在,我已经有了一个NewsController,它按照给定的Id获取新闻文章。使用如下代码,在NewsSummary部分视图中单击每篇文章摘要的Details链接会调用我的HomeController中名为Details的操作。如何将此操作与NewsController中的Details方法联系起来。我研究了Html.RenderAction,但无法确定在这种情况下它将如何为我工作。
有什么想法吗?还是我处理这个问题的方式不对?