Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Ajax错误函数在MVC控制器发出json请求时触发_C#_.net_Ajax_Model View Controller - Fatal编程技术网

C# Ajax错误函数在MVC控制器发出json请求时触发

C# Ajax错误函数在MVC控制器发出json请求时触发,c#,.net,ajax,model-view-controller,C#,.net,Ajax,Model View Controller,大家好!我正在使用ajax发送和检索数据,实际上我正在将数据发送到MVC控制器,并根据join in var类型变量从两个表中获取数据,但问题是,当我将查询结果发送到ajax时,它会触发错误函数,而不是成功 请同时发布您的模型好吗?我假设您正在使用延迟加载。我认为问题在于,实体包含导航属性,这些属性将在实体上下文被释放后加载 使用浏览器的开发人员工具查看服务器的响应表单。在这里,您可以看到异常 我敢打赌它会显示出这样的内容: ObjectContext实例已被释放,无法再使用 用于需要连接的操作

大家好!我正在使用ajax发送和检索数据,实际上我正在将数据发送到MVC控制器,并根据join in var类型变量从两个表中获取数据,但问题是,当我将查询结果发送到ajax时,它会触发错误函数,而不是成功


请同时发布您的模型好吗?我假设您正在使用延迟加载。我认为问题在于,实体包含导航属性,这些属性将在实体上下文被释放后加载

使用浏览器的开发人员工具查看服务器的响应表单。在这里,您可以看到异常

我敢打赌它会显示出这样的内容:

ObjectContext实例已被释放,无法再使用 用于需要连接的操作

2种选择:

  • 将结果映射到匿名对象列表:
  • 创建新的ViewModel:

    [Serializable]
    public class DepartmentProgramViewModel
    {
        public DepartmentViewModel Department { get; set; }
        public ProgramViewModel Program{ get; set; }
    }
    [Serializable]
    public class DepartmentViewModel
    {
        public string WhateverProperties{ get; set; }
    }
    [Serializable]
    public class ProgramViewModel 
    {
        public string WhateverProperties{ get; set; }
    }
    
    将查询结果映射到此视图模型

  • 我刚才回答了另一个问题:


    这个问题在新MVCer中经常发生。不要试图从上下文级数据结构返回数据列表,因为它们相互引用,无法自动序列化为json。

    不要在问题中包含代码图片……包括代码本身。以下是一个视图模型:使用系统;使用System.Collections.Generic;使用System.Linq;使用System.Web;名称空间SchoolCampus.Models{public class DepartmentProgram{public DEPARTMENT DEPARTMENT{get;set;}}}}公共程序程序{get;set;}}}}}}以下是浏览器错误:POST 500(内部服务器错误)请更新您的问题并添加类型“DepartmentProgram”、“DEPARTMENT”和“PROGRAM”。检查导致500(内部服务器错误)的请求的“响应”。应该有更多的细节。