如何将选定的下拉值传递给 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() }),

还要确保您的 dropdownclass ddlCountry。如果这是你的 dropdownid,那么你需要像这样通过 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  },
        });
});