0
我在做从下拉选择中,我用Json值填充文本框。 Action()方法工作正常它返回Json值,但页面不会将这些值填充到TextBoxes控件。当我使用开发人员工具,然后我得到,它会抛出一个错误“该操作无法完成,因为DbContext已被处置。”该操作无法完成,因为DbContext已在Mqsql和实体框架中处理
控制器
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
}
}
查看: -
<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);
}
}
});
}
尝试'返回Json(query.ToList());' – rene 2014-09-29 06:34:33
我已经使用它得到异常“在EntityFramework.dll中发生类型'System.InvalidOperationException'的异常,但未在用户代码中处理” – Anjyr 2014-09-29 06:36:12
只是为了测试,摆脱使用和重用您的类级别的dbcontext在这一行'var query = from db.chains' – rene 2014-09-29 06:44:09