我试图从jquery传递一个mvc控制器的参数,但该方法正在接收空值,即使调试器显示浏览器中两个控件的val()调试器存在。从jquery传递多个参数到mvc控制器
$(function() {
$('#Counties').cascade({
data: JSON.stringify('{state: ' + $("#States").val() + ', county: ' + $("#Counties").val() + '}'),
url: '@Url.Action("GetCities")',
childSelect: $('#Cities')
});
});
我想在下面的一个答案有JSON.stringify和没有这两种方法。该值仍跨为空
来到这里是更新的代码。我在另一篇文章上看到,我可能需要为该方法编写一个Route。我补充说,但没有工作,要么
$(function() {
$('#Counties').cascade({
data: {state: $("#States").val(), county: $("#Counties").val()},
url: '@Url.Action("GetCities")',
childSelect: $('#Cities')
});
});
[HttpGet]
public ActionResult GetCities(string state, string county)
{
var cities = _carrierRouteAssignmentRepository.GetCities(state, county);
return Json(cities, JsonRequestBehavior.AllowGet);
}
routes.MapRoute(
name: "GetCities",
url: "{controller}/{action}/{state}/{county}",
defaults: new { controller = "CarrierRouteAssignments", action = "GetCities", state = UrlParameter.Optional, county = UrlParameter.Optional }
);
运行小提琴手我看到请求走出去作为
/CarrierRouteAssignments/GetCities?undefined=LOS+ANGELES
这是不正确
尝试将实际JavaScript对象传递给'JSON.stringify'而不是字符串 – Catalin 2014-09-02 12:40:12