I have an ASP.Net MVC application. I am trying to post data to an action, and then just render the output. I have a page where you can view a product, so www.mysite.com/product/details/1 shows the product. On this page, I render a partial view through RenderAction() that contains some pricing logic. I want the user to select some options and then have jquery post the options to get the new price.
However, when I call
$.post({
url : "price/getprice",
data : {"options" : chosenOptions},
success : function(data) {
$("#price").text(data);
}
});
The url is posting to www.mysite.com/product/details/price/getprice
which doesn't exist. I've tried posting to "~/price/getprice/" but it does the same thing. Why won't it go to my PriceController's GetPrice(FormCollection form) action??
This should post to www.mysite.com/price/getprice
. When I look in the Net tab in firebug, it says it's posting this:
http://localhost:42427/Product/Details/%5Bobject%20Object%5D
If I look at the response in Firebug, the application is throwing an exception:
The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Details(Int32)' in 'PrintPlaceWebsite.Controllers.ProductController'.
But I'm not trying to post to that location so...ugh.