我有一个 ASP.Net MVC 应用程序。我正在尝试将数据发布到一个动作,然后只渲染输出。我有一个页面,您可以在其中查看产品,因此 www.mysite.com/product/details/1 显示该产品。在这个页面上,我通过 RenderAction() 渲染了一个包含一些定价逻辑的局部视图。我希望用户选择一些选项,然后让 jquery 发布选项以获得新价格。
但是,当我打电话时
$.post({
url : "price/getprice",
data : {"options" : chosenOptions},
success : function(data) {
$("#price").text(data);
}
});
网址正在发布到www.mysite.com/product/details/price/getprice
不存在的位置。我试过发布到“~/price/getprice/”,但它做同样的事情。为什么它不会转到我的 PriceController 的 GetPrice(FormCollection form) 操作?
这应该发布到www.mysite.com/price/getprice
. 当我在 firebug 中查看 Net 选项卡时,它说它正在发布:
http://localhost:42427/Product/Details/%5Bobject%20Object%5D
如果我查看 Firebug 中的响应,应用程序会抛出异常:
参数字典包含“PrintPlaceWebsite.Controllers.ProductController”中方法“System.Web.Mvc.ActionResult Details(Int32)”的不可空类型“System.Int32”的参数“id”的空条目。
但我并不想在那个位置发帖,所以......呃。