操作无法完成,因为的DbContext已经被布置在Mqsql和Entity Framework [英] The operation cannot be completed because the DbContext has been disposed In Mqsql and Entity Framework

查看:992
本文介绍了操作无法完成,因为的DbContext已经被布置在Mqsql和Entity Framework的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做从下拉菜单选择,我填写使用JSON文本框的值。 action()方法做工精细它返回JSON值,但页面不填充这些价值的文本框控件。当我使用开发人员工具,然后我得到的,它抛出一个错误的,因为的DbContext已被释放的操作无法完成。

控制器

 私人hcEntities DB =新hcEntities(); // GET:链条
 公众的ActionResult指数()
{
    计算机[chain_name] =新的SelectList(db.chains,code,名);
    返回查看(db.chains.ToList());
}//操作功能callby的javascript
[HttpPost]
公众的ActionResult动作(字符串code)
{
    使用(VAR ObjDb =新hcEntities())
    {
        VAR的查询=从C在ObjDb.chains
            其中c。code == code
            选择C;
        返回JSON(查询); //返回JSON结果
    }
}

查看 -

 <脚本类型=文/ JavaScript的>
功能操作(code){
$阿贾克斯({
    网址:'@ Url.Action(动作,链条)',
    键入:POST,
    数据:{code:code},
    成功:功能(数据){
        如果(数据!= NULL){
            VAR VDATA =数据;
            $(#ChainName)VAL(VDATA [0]。名称);
            $(#链code)VAL(VDATA [0] code);
            $(#用户名)VAL(VDATA [0] .username);
        }
    }
});
}


解决方案

尝试返回JSON(query.FirstOrDefault());

I am doing From dropdown selection, I fill textboxes with the Json Value. Action() Method work fine It return Json value but page not populate these value to TextBoxes control. When i use Developer Tool then i get, it throw a Error "The operation cannot be completed because the DbContext has been disposed."

Controller

    private hcEntities db = new hcEntities();

 // GET: Chains
 public ActionResult Index()
{
    ViewData["chain_name"] = new SelectList(db.chains, "code", "name");
    return View(db.chains.ToList());
}

//Action Function callby javascript
[HttpPost]
public ActionResult Action(string code)
{
    using (var ObjDb = new hcEntities())
    {
        var query = from c in ObjDb.chains
            where c.code == code
            select c;
        return Json(query);//Return Json Result
    }
}

View:-

<script type="text/javascript">
function Action(code) {
$.ajax({
    url: '@Url.Action("Action", "Chains")',
    type: "POST",
    data: { "code": code },
    "success": function (data) {
        if (data != null) {
            var vdata = data;
            $("#ChainName").val(vdata[0].name);
            $("#ChainCode").val(vdata[0].code);
            $("#username").val(vdata[0].username);
        }
    }
});
}

解决方案

Try return Json(query.FirstOrDefault());

这篇关于操作无法完成,因为的DbContext已经被布置在Mqsql和Entity Framework的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆