asp.net-mvc - 如何防止 View 将其模型传递给部分 View ,而是传递 null?

标签 asp.net-mvc razor

在 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/

相关文章:

c# - 格式化要显示的 ajax.actionlink 文本

asp.net - 我需要对 MVC 架构和三层架构进行一些说明

c# - 在 MVC 4 模型中提交表单在 Controller 发布方法中为空

html - asp.net mvc - 不同的 View 在 <head> 内部布局页面中需要不同的元标记

jQuery-UI 自动完成功能不起作用

asp.net-mvc - ASP.NET SimpleMembership 中密码的自定义验证

c# - 如何使用 MEF 在 MVC 3 Razor 中呈现控件

css - 如何从 .cshtml 页面调用外部样式表?

asp.net-mvc - 表单发布后如何在我的 View 中检查 TempData 值?

c# - 如何在 ASP.NET MVC 3 中将 Razor View 呈现为字符串?