在 ASP.NET MVC 和使用 Razor 中,我有一个 View (父 View )调用另一个 View ( subview )作为部分 View 。两者都是强类型的,但它们具有不同的模型类型。
通常,在这些情况下,我们会显式地将模型从父 View 传递到 subview 。
@Html.Partial("Child", Model)
我们还可以选择不显式指定要传递的模型,在这种情况下,父 View 将尝试将其自己的模型传递给 subview 。如果类型匹配,则此方法有效,并且在大多数情况下都是可取的。
@Html.Partial("Child")
但是,就我而言,我真的希望父 View 不尝试将任何内容传递给 subview 。我该怎么做?
我想尝试显式传递null
:
@Html.Partial("Child", null)
但这仍然将父级的模型传递给 subview ,从而导致错误: 传递到字典中的模型项的类型为“A”,但该字典需要类型为“B”的模型项。
(顺便说一句, subview 是其模型的创建 View ,这就是为什么我没有实例可以传递给它。)
最佳答案
试试这个:
@Html.Partial("Child", null, new ViewDataDictionary<ChildType>(childInstance/*this can be null*/))
关于asp.net-mvc - 如何防止 View 将其模型传递给部分 View ,而是传递 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17284884/