如何将选定的下拉值传递给 MVC 控制器?
How to pass a selected dropdown value to the MVC controller?
这是AJAX方法和MVC控制器。
下拉列表在url“http://localhost:1424/home/drop". so after navigating, i choose a state from the dropdownlist and then When I navigate to the url "http://localhost:1424/home/GetStates”,json数据为空。我在 url 上得到的 JSON 是 {"selectedCountyId":null}。请协助。!!!!!!!!!!!!!!!!!!
$('.ddlCountry').change(function () {
$('#ddlState').empty();
$.ajax({
type: "POST",
dataType:"json",
url: "Home/GetStates",
data: { Id: $('.ddlCountry').val() },
});
});
public ActionResult GetStates(string Id)
{
return Json(new { selectedCountyId = Id }, JsonRequestBehavior.AllowGet);
}
试试这个
data: JSON.stringify({ Id: $('.ddlCountry').val() }),
还要确保您的 dropdown
有 class ddlCountry
。如果这是你的 dropdown
的 id
,那么你需要像这样通过 id
获得 value
。
data: JSON.stringify({ Id: $('#ddlCountry').val() }),
您正在使用 class 选择器,所以可能是在 DOM.
中找到多个元素
另外我建议你使用Url.Action
生成urls,不要这样串,因为url他们以后会给你带来麻烦。
将您的 jquery 代码修改为:
$('.ddlCountry').change(function () {
$('#ddlState').empty();
var selected = $(this).val(); // get current dropdown element selected value
$.ajax({
type: "POST",
dataType:"json",
url: '@Url.Action("GetStates","Home")',
data: { Id: selected },
});
});
这是AJAX方法和MVC控制器。 下拉列表在url“http://localhost:1424/home/drop". so after navigating, i choose a state from the dropdownlist and then When I navigate to the url "http://localhost:1424/home/GetStates”,json数据为空。我在 url 上得到的 JSON 是 {"selectedCountyId":null}。请协助。!!!!!!!!!!!!!!!!!!
$('.ddlCountry').change(function () {
$('#ddlState').empty();
$.ajax({
type: "POST",
dataType:"json",
url: "Home/GetStates",
data: { Id: $('.ddlCountry').val() },
});
});
public ActionResult GetStates(string Id)
{
return Json(new { selectedCountyId = Id }, JsonRequestBehavior.AllowGet);
}
试试这个
data: JSON.stringify({ Id: $('.ddlCountry').val() }),
还要确保您的 dropdown
有 class ddlCountry
。如果这是你的 dropdown
的 id
,那么你需要像这样通过 id
获得 value
。
data: JSON.stringify({ Id: $('#ddlCountry').val() }),
您正在使用 class 选择器,所以可能是在 DOM.
中找到多个元素另外我建议你使用Url.Action
生成urls,不要这样串,因为url他们以后会给你带来麻烦。
将您的 jquery 代码修改为:
$('.ddlCountry').change(function () {
$('#ddlState').empty();
var selected = $(this).val(); // get current dropdown element selected value
$.ajax({
type: "POST",
dataType:"json",
url: '@Url.Action("GetStates","Home")',
data: { Id: selected },
});
});