2011-02-15 86 views
0

我NewsSummary.ascx用来显示新闻文章的摘要清单,下面的部分观点:ASP.NET MVC2渲染它自己的控制器的局部视图

<%@ 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字典中的一个条目。局部视图,然后内使用的Index.aspx与Html.RenderPartial作为其模型通过如下新闻文章的列表呈现:

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

现在,我已经有获取由给定ID的新闻文章一NewsController。点击代码后,点击NewsSummary局部视图中每篇文章摘要的详细信息链接,在我的HomeController中调用一个名为Details的操作。我如何将此操作绑定到NewsController中的Details方法。我研究了Html.RenderAction,但无法确定它在这种情况下对我的工作方式。

任何想法或我接近这个错误的方式吗?

回答

0

应指定控制器作为参数传递给Html.ActionLink这样的:

<%= Html.ActionLink("Details", "Details", "News", new { /* id=item.PrimaryKey */ }, null) %> 
+0

谢谢你,谢谢你。 – 2011-02-15 15:57:50