我使用MVC2与VS2008,并在视图〜/共享/的Site.Master下面的一段代码:MVC2抱怨说,它不能找到一个控制器上的公共行动方法,即使它的存在
<ul id="navlist">
<li class="first"><a href="<%= Url.Content("~")%>" id="current">Home</a></li>
<li><a href="<%= Url.Content("~/Store/")%>">Store</a></li>
<li>
**<% Html.RenderAction("CartSummary","ShoppingCart"); %></li>**
<li><a href="<%= Url.Content("~/StoreManager/") %>">Admin</a></li>
</ul>
抛出以下异常:用于处理 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'
错误执行子请求。
具有这种内部异常:
“A公共动作方法 'CartSummary' 未对控制器 'MvcMusicStore.Controllers.ShoppingCartController' 找到”。
......这没有任何意义。 “CartSummary”方法定义如下:
// GET: /ShoppingCart/CartSummary
[NHibernateActionFilter]
[ChildActionOnly]
[HttpGet]
public ActionResult CartSummary()
{
var cart = ShoppingCart.GetCart(this.HttpContext, this.NSession);
ViewData["CartCount"] = cart.GetCount();
return PartialView("CartSummary");
}
那么是什么给了?我在这里错过了什么吗?
这奏效了。但主要行动也是一个GET,那么给出了什么? – 2012-08-19 19:48:54
总是或有一个Post版本,或者与HttpPost属性完全不同的操作ViewResults使用这个部分视图? (例如,当你把东西放在购物车中。) – 2012-08-20 08:00:08