操作无法完成,因为的DbContext已经被布置在Mqsql和Entity Framework [英] The operation cannot be completed because the DbContext has been disposed In Mqsql and Entity Framework
本文介绍了操作无法完成,因为的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屋!
查看全文