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

cho*_*bo2 9 .net c# asp.net asp.net-mvc

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

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

我试过类似的东西

 public ActionResult Test()
        {
              MyData = new Data();
              MyData.One = 1;
              return View("Test",MyData)
        }
Run Code Online (Sandbox Code Playgroud)

在我的TestView中

<% Html.RenderPartial("PartialView",Model); %>
Run Code Online (Sandbox Code Playgroud)

这给了我一个stackoverflow异常.所以我不知道如何传递它.当然,如果可能的话,我不想让测试视图强烈输入,如果我在该视图中有10个强类型的局部视图,我需要像某种包装器.

Ufu*_*arı 4

您应该扩展您的模型,以便它可以为视图提供所有必需的字段(这称为 ViewModel),或者您可以使用 ViewData 单独提供它们。

 public ActionResult Test()
        {
              MyData = new Data();
              MyData.One = 1;
              ViewData["someData"]=MyData;
              return View();
        }
Run Code Online (Sandbox Code Playgroud)

然后:

<% Html.RenderPartial("PartialView",ViewData["someData"]); %>
Run Code Online (Sandbox Code Playgroud)

ViewData 是一个很好的松散类型字典