"このObjectContextインスタンスは削除されており、接続が必要な操作には使用できなくなりました。asp.net mvc eDを使用したObjectDisposedException
これは、asp.net mvc3、EF4、ms sqlです。 ここでは、2つのドロップダウンとかみそりである:私は...
public IEnumerable<Province> GetAllProvince()
{
using (var context = DBContext.ObjectContext)
{
var pros = context.Provinces;
return pros;
}
}
IndustryServiceは上記と同じである
public class DBContext
{
private static EmpowerDBEntities _empowerContext;
public static EmpowerDBEntities ObjectContext
{
get
{
if (_empowerContext == null)
_empowerContext = new EmpowerDBEntities();
return _empowerContext;
}
}
}
:
<div class="editRow">
@Html.DropDownListFor(m=>m.IndustryId, (SelectList)ViewBag.Industry, @Empower.Resource.General.ddlDefaultVal, new { @class = "ddl400" })
@Html.ValidationMessageFor(m => m.IndustryId)
</div>
<div class="editRow">
@Html.DropDownListFor(m=>m.ProvinceId, (SelectList)ViewBag.Province, @Empower.Resource.General.ddlDefaultVal, new {@class = "ddl400"})
@Html.ValidationMessageFor(m => m.ProvinceId)
</div>
コントローラー:
IndustryService indService = new IndustryService();
ViewBag.Industry = new SelectList(indService.GetAllIndustry(), "IndustryId", "IndustryName");
ProvinceService proService = new ProvinceService();
ViewBag.Province = new SelectList(proService.GetAllProvince(), "ProvinceId", "ProvinceName");
return View();
ProvinceService知っている以前のクエリによって接続が割り当てられている間にデータを取得しようとすると、2番目のドロップダウンに問題が発生します。これで、お手伝いしてください、ありがとう。
私はあなたが "返品を使用して提案したことをしました。 – Jack
私の編集を参照してください私は上記の –
にお礼を言いました、私はそれを試みます!しかし、これを実装する他のより良い方法を考えることができます - 2つのドロップダウンリストにデータベースを2回クエリしてポップする – Jack