在ASP.NET MVC 4中使用AJAX填充DropDownList错误

本文关键字:AJAX 填充 DropDownList 错误 ASP NET MVC | 更新日期: 2023-09-27 18:26:47

我是JQuery和AJAX的新手。我试图在ASP.NET MVC 4中使用AJAX填充DropDownList,结果出现了以下错误:ObjectContext实例已被删除,不能用于需要连接的操作这是我的脚本:

function LoadFlights() {
var $flight = $('#IDFLIGHT');
$flight.empty();
$flight.append($('<option></option>').val('').html('Please Wait...'));
$.ajax({
    url: '/Flight/GetFlightList',
    type: 'POST',
    data: {},
    dataType: 'json',
    success: function (d) {
        $flight.empty();
        $flight.append($('<option></option>').val('').html('Select Flight'));
        $.each(d, function (i, val) {
            $flight.append($('<option></option>').val(val.IDFLIGHT).html(val.DATEFLIGHT));
        });
    },
    error: function () {
    }
});
}

这是控制器中的动作飞行我称之为:

public JsonResult GetFlightList()
    {
        FlightService flightService = new FlightService();
        var all = flightService.GetAll();
        return new JsonResult { Data = all, JsonRequestBehavior = JsonRequestBehavior.AllowGet };         
    }

变量all有数据,但它仍然会给我上面提到的错误。感谢

在ASP.NET MVC 4中使用AJAX填充DropDownList错误

您应该使用return Json(all,JsonRequestBehavior.AllowGet);,仅仅将列表数据传递给构造函数不会将其转换为JSON对象。

附言:函数Json()将返回JsonResult