Asp.net mvc 在MVC中,如何在下拉列表更改时调用动作名称?

Asp.net mvc 在MVC中,如何在下拉列表更改时调用动作名称?,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,如何在选择第一个dropdownlist时将数据绑定到第二个dropdownlist 我已经使用强类型视图绑定了第一个dropdownlist 现在,如何调用操作名称并在选择第一个dropdownlist时绑定第二个dropdownlist <tr> <td>Select Make:</td> <td>@Html.DropDownListFor(m => m.SelectedMake, Mod

如何在选择第一个dropdownlist时将数据绑定到第二个dropdownlist

我已经使用强类型视图绑定了第一个dropdownlist

现在,如何调用操作名称并在选择第一个dropdownlist时绑定第二个dropdownlist

 <tr>
            <td>Select Make:</td>
            <td>@Html.DropDownListFor(m => m.SelectedMake, Model.MakesList, new { @class = "form-control", @onchange = "FillModel()" })</td>
        </tr>
        <tr>
            <td>Select Model</td>
            <td>@Html.DropDownListFor(m => m.SelectedMake, Model.MakesList)</td>
        </tr>

您可以将Jquery函数放在下拉列表的更改上。比如说

 <tr>


        <td>Select Make:</td>
                <td>@Html.DropDownListFor(m => m.SelectedMake, Model.MakesList, new { @class = "form-control", @onchange = "FillModel()", id="ddlMake"

    })</td>
        </tr>
        <tr>
            <td>Select Model</td>
            <td>@Html.DropDownListFor(m => m.SelectedMake, Model.MakesList,new {@id="ddlModel"})</td>
        </tr>
但是为了进一步的效果,您必须调用Ajax调用方法并获取数据。在该方法成功之后,您必须将其余数据附加到ddlModel上。就像这样。

$(document).ready(function(){
    $("#ddlMake").change(function(){url.action('Controller Name','Action Method Name')})
})
    $(document).ready(function(){

   $("#ddlMake").change(function(){
   $.ajax({
        type:'POST',
        url:'url.action('Controller Name','Action Method Name')'
        data:{id:$('#ddlMake').val()},
        sucess:{
             $("#ddlModel").append('<option value="' + ModelId.Value + '">' + Model.Text + '</option>');
        }
        });)})
        })

如果我正确理解了您的问题,那么您只需要执行简单的jquery.post

 $("#ddlMake").change(function () {
            $.post("controller/ActionName", function (data) {
                $.each(data, function (val, txt) {
                    $("#ddlModel").append('<option value="' + val + '">' + txt + '</option>');
                });
            });
        });  

您需要使用ajax。有关创建级联dropdownlists的示例,是否有一种不使用Ajax和JQuery的方法?是的,您也可以使用Viewbag来实现。但这将导致您进行完整的回发。
public JsonResult GetModel()
    {
        //your dropdown datasource
        return json(ddlModeldatasurce,JsonRequestBehavior.AllowGet);
    }
 $("#ddlMake").change(function () {
            $.post("controller/ActionName", function (data) {
                $.each(data, function (val, txt) {
                    $("#ddlModel").append('<option value="' + val + '">' + txt + '</option>');
                });
            });
        });  
    public Actionresult GetModel()
    {
        //your dropdown datasource
        return json(ddlModeldatasurce);
    }