如何将模型从视图传递到局部视图?

我的观点不是强类型的。 但是我在这个视图中有一个强类型的局部视图。

如何将模型传递给此强类型视图?

我尝试过类似的东西

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"]); %> 

但无论如何:没有理由没有一个强烈的类型视图。