【问题标题】:Convert a LINQ result into a list and return it to view using AJAX (ASP.NET MVC)将 LINQ 结果转换为列表并使用 AJAX (ASP.NET MVC) 将其返回以查看
【发布时间】:2020-05-07 14:26:21
【问题描述】:

我有一个 ASP.NET MVC 项目,当我使用 Ajax 从操作中获取列表时,没有返回任何内容,并且在 ajax 中出现错误。

这是代码,问题是我如何将操作中的Linq结果作为列表返回给ajax并在ajax中读取

Ajax 代码:

$.ajax({
                    type: 'POST',
                    url: '@Url.Action("XXX")',
                    datatype: JSON,
                    data: { 'UF_ID': $("#UF").val() },
                    success: function (data) {
                        $("#TBL").empty();
                        alert(data);
                    },
                    error: function () {
                        alert('error');
                    }
                });

动作代码

public JsonResult XXX(string UF_ID)
{
    SCHOOLmEntities context = new SCHOOLmEntities();

    List<FRMTR> Lis =new List<FRMTR>();

    var R = from x in context.FRMTRs 
            join y in context.UFs on x.CIN_FRMTR equals y.FRMTR_UF 
            where y.CD_UF == UF_ID 
            select x;

    Lis = R.ToList<FRMTR>();

    return Json(Lis, JsonRequestBehavior.AllowGet);
}

我需要在 Ajax 中返回列表并在 ajax 中读取它的属性

【问题讨论】:

  • "我在 ajax 中出现错误" - 错误是什么?使用浏览器的调试工具,特别是网络选项卡,观察 AJAX 请求和服务器的响应?那是什么反应?
  • 名称:XXX - 状态:500 - 类型:xhr
  • 500 = 服务器错误,因此您的 C# 操作有问题
  • @ADSMB:“500”表示服务器端可能出现任何问题。如果您在调试模式下运行 ASP.NET 应用程序,那么默认情况下它应该在响应正文中返回错误消息。您需要先收到错误消息,然后才能解决它。
  • 尝试使用更简单的集合,例如var R = from x in context.FRMTRs select x; - 但是,如上所述,如果您调试服务器端,应该很容易找到实际错误

标签: c# jquery ajax asp.net-mvc entity-framework


【解决方案1】:

这是我的 DBCONTEXT 中的解决方案:

public MyDbContext()   : base("name=MyDbContext"){this.Configuration.ProxyCreationEnabled = false;}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 2012-07-05
    • 1970-01-01
    相关资源
    最近更新 更多