我想像这样呈现部分:
@Html.Partial("_MyPartial")
但是我的部分需要一个类型化的对象,例如:MyPartial.cshtml:
@model MyApplication.Models.MyClass
(...)
但我想在我的视图上渲染它,没有初始化的模型,比如“创建”视图。
创建视图绑定到模型,但初始化为空。
我已经尝试过:
@Html.Partial("_MyPartial")
主视图模型传递给partial,它会抛出不兼容的类型错误。
@Html.Partial("_MyPartial", null)
会抛出相同的错误。
@Html.Partial("_MyPartial", new MyClass())
使用默认值初始化视图。我不想要预先初始化的视图。
在“创建”视图中,没有模型传递给视图,但视图绑定到模型。我想在“创建”视图中呈现此部分。它不能绑定到初始化的模型实例。它必须初始化为空。
答案 0 :(得分:1)
您已编写代码以接受视图中的模型类型:
@model MyApplication.Models.MyClass
因此必须在视野中传递模型。
如果您不想使用模型,请删除接受模型的代码
答案 1 :(得分:0)
尝试使用html.renderaction而不是部分like this并且不要为视图声明任何模型,如果它真的不首先使用它?
哦,是的,在动作回归中返回部分视图,不要忘记@符号之后的花括号,这很重要
答案 2 :(得分:0)
事实上,这是不可能的,因为如果自身不存在,则会导致部分视图从主视图中获取模型。
在这种情况下,您必须初始化部分调用并不仅将模型传递为null
,而且还必须清除上下文中的所有数据。
答案 3 :(得分:-1)
如果要返回没有模型的部分视图。使用它。
@{ Html.RenderPartial("Your partial view") }