在ASP.NET MVC和使用Razor的情况下,我有一个视图(父级)调用另一个视图(子级)作为部分。两者都是强类型的,但它们具有不同的模型类型。
通常,在这种情况下,我们会从父视图显式地传递一个模型到子视图。
我们还可以选择不明确指定要传递的模型,在这种情况下,父视图将尝试将其自己的模型传递给子视图。如果类型匹配,则此方法有效,并且在大多数情况下都是可取的。
在我的情况下,我真的希望父View不要尝试将任何内容传递给子View。我该怎么办呢? 我想过尝试显式地传递null:
通常,在这种情况下,我们会从父视图显式地传递一个模型到子视图。
@Html.Partial("Child", Model)
我们还可以选择不明确指定要传递的模型,在这种情况下,父视图将尝试将其自己的模型传递给子视图。如果类型匹配,则此方法有效,并且在大多数情况下都是可取的。
@Html.Partial("Child")
在我的情况下,我真的希望父View不要尝试将任何内容传递给子View。我该怎么办呢? 我想过尝试显式地传递null:
@Html.Partial("Child", null)
但是这样仍然会将父模型传递给子视图,从而导致错误:The model item passed into the dictionary is of type 'A', but this dictionary requires a model item of type 'B'.
(顺便说一句,子视图是其模型的创建视图,这就是为什么我没有要传递给它的实例。)