繁体   English   中英

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

[英]How to pass Model from a view to a partial view?

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

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

我试过类似的东西

 public ActionResult Test()
        {
              MyData = new Data();
              MyData.One = 1;
              return View("Test",MyData)
        }

在我的TestView中

<% Html.RenderPartial("PartialView",Model); %>

这给了我一个stackoverflow异常。 所以我不知道如何传递它。 当然,如果可能的话,我不想让测试视图强烈输入,如果我在该视图中有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"]); %>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM