当onchange事件被触发ASP.NET MVC5时,从数据库填充下拉列表

时间:2018-03-03 19:05:43

标签: jquery asp.net ajax asp.net-mvc

我有三个下拉菜单 - 姓名,专业和学习年份。名称仅与一个专业和一年的学习相关联。 当我选择一个名称时,我希望其他两个下拉列表根据我选择的名称从数据库中自动完成。 到目前为止,这是我的ajax代码。我究竟做错了什么?

$("#name").on('change', function () {
        GetStudentInfo();
    });

function GetStudentInfo() {
    var studId = $("#student").val();
     if (studId) {   
            $.ajax({
                url: '@Url.Action("GetStudentInfo", "StudentSituations")',
                type: 'GET',
                dataType: 'html',
                data: { studId: studId },
                success: function (data) {
                    $('#specialization').html(data);
                    $('#yearOfStudy').html(data);
                }
            });
            return false; 
        }
    };

1 个答案:

答案 0 :(得分:1)

您的问题在于:url: '@Url.Action("GetStudentInfo", "StudentSituations")'。对于ajax url,您需要编写一个简单的字符串。您需要通过Razor视图削减您的网址,并将实际值替换为ajax网址。你可以看到这篇文章以便更好地理解:

Ajax call Into MVC Controller- Url Issue

而且我也不知道'#student'是什么?你确定这一行:

var studId = $("#student").val();

真的有用吗?