如何防止视图将其模型传递给部分视图,而是传递 null?

2024-04-24

在 ASP.NET MVC 和使用 Razor 中,我有一个视图(父视图)调用另一个视图(子视图)作为部分视图。两者都是强类型的,但它们具有不同的模型类型。

通常,在这些情况下,我们会显式地将模型从父视图传递到子视图。

@Html.Partial("Child", Model)

我们还可以选择不显式指定要传递的模型,在这种情况下,父视图将尝试将其自己的模型传递给子视图。如果类型匹配,则此方法有效,并且在大多数情况下是可取的。

@Html.Partial("Child")

然而,就我而言,我真的想要父视图not尝试将任何内容传递给子视图。我该怎么做呢?

我想过尝试通过null明确地:

@Html.Partial("Child", null)

但这仍然将父级的 Model 传递给子 View,导致错误:The model item passed into the dictionary is of type 'A', but this dictionary requires a model item of type 'B'.

(顺便说一句,子视图是其模型的创建视图,这就是为什么我没有实例可以传递给它。)


尝试这个:

@Html.Partial("Child", null, new ViewDataDictionary<ChildType>(childInstance/*this can be null*/))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止视图将其模型传递给部分视图,而是传递 null? 的相关文章

随机推荐