C# mvc ajax下拉列表值问题

C# mvc ajax下拉列表值问题,c#,asp.net-mvc,ajax,model-view-controller,C#,Asp.net Mvc,Ajax,Model View Controller,因此,我在处理级联下拉列表时遇到了问题。每次我在第一个下拉列表中选择一个值时,第二个下拉列表将被填充,但在第二个下拉列表的顶部将使用从第一个下拉列表中选择的值。这有意义吗?以下是代码。我不确定它是否正确附加,似乎在firebug上找不到任何东西 任何建议都将不胜感激 谢谢 观点: <script type="text/javascript"> $(function () { $('#<%: ViewData.TemplateInfo.GetFullHtm

因此,我在处理级联下拉列表时遇到了问题。每次我在第一个下拉列表中选择一个值时,第二个下拉列表将被填充,但在第二个下拉列表的顶部将使用从第一个下拉列表中选择的值。这有意义吗?以下是代码。我不确定它是否正确附加,似乎在firebug上找不到任何东西

任何建议都将不胜感激

谢谢

观点:

<script type="text/javascript">
    $(function () {
        $('#<%: ViewData.TemplateInfo.GetFullHtmlFieldId("1stLevel") %>').change(function () {
            $.ajax({
                url: '<%: Url.Action("Index","2ndLevelDetails") %>?1stLevelId=' + $(this).val(),
                success: function (data) {
                    $('#<%: ViewData.TemplateInfo.GetFullHtmlFieldId("2ndLevelId") %>').html(data);
                },
                async: false
            });
        });
    });
</script>


            <div class="dropdown">
                <%: Html.DropDownList("1stLevelDetails", new SelectList(Model.1stLevel, "1stLevelId", "1stLevelDescription"))%>
            </div>

            <div class="dropdown">
                <%: Html.DropDownListFor(model => model.2ndLevelId, new SelectList(Model.NTEESecondaryCodes, "2ndLevelId", "2ndLevelDescription", Model.2ndLevelId))%>
            </div>
返回选项列表的控制器2ndlevel

public string Index(int 1stLevelId)
{
    var ntee = new System.Text.StringBuilder();
    foreach (2ndLevelDetails code in 2ndLevelDetails.Find2ndLevelIds(ArgentDb, 1stLevelId))
    {
        ntee.AppendFormat("<option value=\"{0}\">{1}</option>", code.2ndLevelId, code.Description);
    }

    return ntee.ToString();
}

尝试使用jquery的live活页夹

$('#<%: ViewData.TemplateInfo.GetFullHtmlFieldId("1stLevel") %>').live('change', function () {
// ... code here

从我记事起,我就不得不使用live来绑定更改事件。。我不知道为什么。

您确定“更改”事件有效吗?将Ajax代码更改为要检查的简单警报。