【问题标题】:System.InvalidOperationException: 'The operation cannot be completed because the DbContext has been disposed.'System.InvalidOperationException: '操作无法完成,因为 DbContext 已被释放。'
【发布时间】:2017-07-17 18:41:41
【问题描述】:

在视图中我遇到错误

这是我的控制器

using (var db=new wipoeeshetronEntities())
        {
            ViewBag.Role = new SelectList(db.masterroledet_tbl.Where(m => m.IsDeleted == 0), "RoleID", "RoleName");
            var RoleplayModule = db.masterrolemodulelink_tbl.Where(e => e.IsDeleted == 0);
            return View(RoleplayModule.ToList());  
        }

这是我的观点

@Html.DropDownList("RoleId1", (SelectList)ViewData["Role"], "--Select Role for Update--", new { @id = "RoleID1", @class = "btn btn-block orange dropdown-toggle ", @name = "RoleID1", @style = "width:20%;display:inline;float:right", @required = "required" })

【问题讨论】:

  • 请学习如何格式化您的问题。
  • 您正在传递 ViewBag 并接受 (SelectList)ViewData["Role"] 它应该是 ViewBag.Role

标签: asp.net-mvc


【解决方案1】:

在 SelectList 中也添加 ToList

ViewBag.Role = new SelectList(db.masterroledet_tbl.Where(m => m.IsDeleted == 0).ToList(), "RoleID", "RoleName");

问题是你传递了视图未执行的查询,当视图试图执行上下文时,上下文已经被使用

【讨论】:

  • 解释得很好。
猜你喜欢
  • 2021-03-01
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 2015-08-09
  • 1970-01-01
相关资源
最近更新 更多