我試圖從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