我有以下部分视图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提取要显示的文章,并在呈现之前在Index.aspx的ViewData字典中创建一个条目。然后使用Html.RenderPartial在Index.aspx中呈现部分视图,其中新闻文章列表作为其模型传递,如下所示:
<% Html.RenderPartial("NewsSummary", ViewData["news"]); %>
现在,我已经有了一个NewsController来获取给定Id的新闻文章。使用代码作为,在NewsSummary局部视图中单击每篇文章摘要的Details链接会调用我的HomeController中名为Details的操作。如何将此操作绑定到NewsController中的Details方法。我查看了Html.RenderAction,但在这种情况下无法确定它对我的作用。
任何想法或我是否采取了错误的方式?
答案 0 :(得分:0)
您应该将控制器指定为Html.ActionLink
的参数,如下所示:
<%= Html.ActionLink("Details", "Details", "News", new { /* id=item.PrimaryKey */ }, null) %>