Asp.net mvc 如何在mvc4中获得所选的dropdownlist值,并基于所选内容,需要填充到另一个dropdownlist中

Asp.net mvc 如何在mvc4中获得所选的dropdownlist值,并基于所选内容,需要填充到另一个dropdownlist中,asp.net-mvc,razor,asp.net-mvc-4,Asp.net Mvc,Razor,Asp.net Mvc 4,我的jquery是这样的 <script type="text/javascript">$(document).ready(function(){ $("#drpId").change(function(e) { firstDDLValue = $("#drpId").val(); $.post('@Url.Action("GetDataForSecond", "Login")', { fstValue: firstDDLValue }, function (e) {

我的jquery是这样的

<script type="text/javascript">$(document).ready(function(){
$("#drpId").change(function(e) {
    firstDDLValue = $("#drpId").val();
    $.post('@Url.Action("GetDataForSecond", "Login")', { fstValue: firstDDLValue }, function (e) {
        var select = $("#secondDDLID");
        select.empty();
        $.each(result, function (index, Data) {
            select.append($('<option/>', {
                value: result.Value,

            }));
        });
    });
});
});
 <div class="editor-field">
        @{
var data = ViewBag.MyData;
            <select name="drpId" id="drpId">
                <option value="yourvalue">Select DomainName </option>
                @foreach (var te in data)
                {
                    <option>@te.DomainName</option>

                }
            </select>
        }
        @Html.ValidationMessageFor(model => model.DomainName)
    </div>
    <div class="editor-field">
        <select name="secondDDLID" id="secondDDLID">
            <option value="yourvalue"></option>
        </select>
    </div>
在数据中,我得到了第二个下拉列表的所有值,但考虑到它没有绑定。 我的视图代码是这样的

<script type="text/javascript">$(document).ready(function(){
$("#drpId").change(function(e) {
    firstDDLValue = $("#drpId").val();
    $.post('@Url.Action("GetDataForSecond", "Login")', { fstValue: firstDDLValue }, function (e) {
        var select = $("#secondDDLID");
        select.empty();
        $.each(result, function (index, Data) {
            select.append($('<option/>', {
                value: result.Value,

            }));
        });
    });
});
});
 <div class="editor-field">
        @{
var data = ViewBag.MyData;
            <select name="drpId" id="drpId">
                <option value="yourvalue">Select DomainName </option>
                @foreach (var te in data)
                {
                    <option>@te.DomainName</option>

                }
            </select>
        }
        @Html.ValidationMessageFor(model => model.DomainName)
    </div>
    <div class="editor-field">
        <select name="secondDDLID" id="secondDDLID">
            <option value="yourvalue"></option>
        </select>
    </div>

@{
var data=ViewBag.MyData;
选择域名
@foreach(数据中的变量te)
{
@域名
}
}
@Html.ValidationMessageFor(model=>model.DomainName)
执行以下操作:

在您的视图中添加以下脚本:

$("#drpId").change(function () {
        firstDDLValue = $("#drpId").val();
        $.post('@Url.Action("GetDataForSecond", "Login")', { fstValue: firstDDLValue }, function (result) {
            var select = $("#secondDDLID");
            select.empty();
            $.each(result, function (index, Data) {
                select.append($('<option/>', {
                    value: Data.Value,
                    text: Data.Text
                }));
            });
        });
    });
$(“#drpId”).change(函数(){
firstDDLValue=$(“#drpId”).val();
$.post('@Url.Action(“GetDataForSecond”,“Login”),{fstValue:firstDDLValue},函数(结果){
var select=$(“#secondDDLID”);
select.empty();
$。每个(结果、函数(索引、数据){
select.append($(''){
value:Data.value,
text:Data.text
}));
});
});
});
以及在控制器中绑定第二ddl的方法:

 public JsonResult GetDataForSecond(string fstValue)
    {
        Domain obj = new Domain();
        var result = obj.LoadSubDomain(fstValue);
        IList < SelectListItem > Data = new List<SelectListItem>();
        for (int i = 0; i < result.Count; i++)
        {
           Data.Add(new SelectListItem()
            {
                Text = result[i].Name,
                Value = result[i].Name,
            });
        }
        return Json(Data, JsonRequestBehavior.AllowGet);
    }
public JsonResult GetDataForSecond(字符串fstValue)
{
Domain obj=新域();
var结果=对象加载子域(fstValue);
IListData=new List();
for(int i=0;i
您的问题不清楚。。您希望在单击某个按钮后填充第二个下拉列表,还是应该在页面加载时填充?我希望在第一个下拉列表更改时填充第二个下拉列表的可能副本请显示obj.LoadSubDomain(fstValue)将返回的eq:Name,UserId等。它返回的名称基于第一个选择。我认为更好的方法是将下拉列表本身放在部分视图中,然后使用ajax返回该部分视图。怎么说?返回Json(数据,JsonRequestBehavior.AllowGet);数据我正在获取所有值,但它不绑定到第二个下拉列表请编辑上面的问题,并显示您在第二个下拉列表中绑定数据的方法。因为上面的代码是工作代码。我再次发布了代码,请检查它,如果您有疑问,请在第二个下拉绑定方法中询问meChange result.Value to Data.Value