<body>
<div id="header">
<div class="title">SPORTS STORE</div>
</div>
<div id="categories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
<div id="content">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</body>
这是 Steven Sandersons 的书“Pro ASP.NET MVC Framework”中的示例代码。
此代码适用于 MVC V1 和 MvcContrib。它的作用是呈现“Nav:Controller”的“Menu()” View 。由于 ASP.NET MVC V2 包括 Partial() 和 RenderPartial() 功能,我尝试实现它,但此代码不起作用。我尝试以多种方式对其进行修改,但似乎没有呈现部分 View 的重载函数,将其作为参数:
1) Controller 名称
2) View 名称
我确定我不是第一个以这种方式实现 RenderAction() 的人,因此,必须有一个解决方法。请帮忙。
最佳答案
I found the problem. I always remove {controller}/{action} route and customize all my routes with lowercase REST like URLs. But for Html.RenderAction it is necessary to have such general route. I added that general route to the end of my routes list and it worked. – Mahdi Feb 22 at 14:42
虽然我仍然不明白,这到底是如何工作的,为什么路线很糟糕,路线的限制是什么。也许我以后会做一些研究。
关于asp.net-mvc - 如何使用 Controller 和操作在 asp.net mvc 2 中呈现部分 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2408961/