如何将模型从视图传递到局部视图?
我的观点不是强类型的。 但是我在这个视图中有一个强类型的局部视图。
如何将模型传递给此强类型视图?
我尝试过类似的东西
public ActionResult Test() { MyData = new Data(); MyData.One = 1; return View("Test",MyData) }
在我的TestView中
这给了我一个stackoverflowexception。 所以我不知道如何传递它。 当然,如果可能的话,我不想让测试视图强烈输入,如果我在该视图中有10个强类型的局部视图,我需要像某种包装器。
您应该扩展模型,以便它可以为视图提供所有必需的字段(这称为ViewModel),或者单独使用ViewData提供它们。
public ActionResult Test() { MyData = new Data(); MyData.One = 1; ViewData["someData"]=MyData; return View(); }
然后:
<% Html.RenderPartial("PartialView",ViewData["someData"]); %>
ViewData是一个很好的输入字典
将partial所需的对象放入Viewdata,并在视图中使用ist作为partial的输入。
public ActionResult Test() { ViewData["DataForPartial"] = new PartialDataObject(); return View("Test") }
在视图中使用:
<% Html.RenderPartial("PartialView",ViewData["DataForPartial"]); %>
但无论如何:没有理由没有一个强烈的类型视图。