我使用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