私の問題は、2つのHtml.RenderActionでビューをレンダリングしようとするときです。 「DbContextが破棄されたため、操作を完了できません」と表示されます。Html.RenderAction with EntityFramework
私はNinjectはこのように構成されています:
Bind<IUnitOfWork>().To<UnitOfWork>().InRequestScope;
をしかし、私は...
Bind<IUnitOfWork>().To<UnitOfWork>()
デフォルトの方法で行う場合にはエラーはありません。
私はRequestScopeでそれを扱う必要があります(だから私は思っています)。どうすればいいですか? 2番目のHtml.RenderActionが以前のDbContextと呼ばれていると、それが破棄されたようです。
更新日:
これは
@model FoodAway.Model.Product
@Html.ValidationSummary(true)
<fieldset>
<legend>Producto</legend>
@using (Html.BeginForm())
{
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
@Html.HiddenFor(model => model.Id)
<p>
<input type="submit" value="Guardar" />
</p>
}
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.Ingredients)
</div>
<div class="editor-field">
@{Html.RenderAction("IngredientsToRemoveList", "Ingredients");}
</div>
</fieldset>
<fieldset>
@{Html.RenderAction("IngredientsToAddList", "Ingredients");}
</fieldset>
</fieldset>
と彼のコントローラ/アクションを(簡潔にするために要約)メインビューでは:私が持っているとき
public ActionResult EditProduct(string name)
{
Product product = unitOfWork.ProductRepository.Get(i => i.Name ==name).FirstOrDefault();
if (product == null)
return HttpNotFound();
return View(product);
}
ので、DBContextに誤りがありますこの2つのRenderActionメソッド、私は唯一のRenderActionを持っている場合は奇妙なことは問題がない!!!!!
解決方法はありますか?私も同じ問題に直面しています。 –