【问题标题】:How to have a strongly typed partial view?如何拥有强类型的局部视图?
【发布时间】:2009-12-24 22:46:46
【问题描述】:

假设我只有一个普通视图(不是强类型),在这个视图中我有这个

 <% Html.RenderPartial("ViewUserControl1") %>

然而,这个 Partial View 是强类型的类(我们称之为 class1)。

如何将数据传递给这个强类型视图?就像我的部分观点一样,我现在不能去做这样的事情

它只会崩溃。所以我需要以某种方式将 class1 传递给这个强类型视图,并且最好保持视图非类型化。

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:
     <% Html.RenderPartial("ViewUserControl1", class1object) %>
    

    或者,如果您在非类型化视图中使用 ViewData["something"] 来保存该 class1,您可以将其强制转换为 class1

    <% Html.RenderPartial("ViewUserControl1",(class1)ViewData["something"] %>
    

    就这样

    【讨论】:

      【解决方案2】:

      如果你不能让你的父视图强类型,你可以将你的局部视图的模型添加到 viewdata 字典中,然后将它传递给局部视图,如下所示:

      <% Html.RenderPartial("ViewUserControl1", ViewData["MyDataObject"] %>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-30
        • 2011-10-11
        相关资源
        最近更新 更多