ASP.NET MVC。如何渲染没有模型的Partial(如创建视图)

时间:2016-09-13 01:22:56

标签: c# asp.net asp.net-mvc partial

我想像这样呈现部分:

@Html.Partial("_MyPartial")

但是我的部分需要一个类型化的对象,例如:MyPartial.cshtml:

@model MyApplication.Models.MyClass
(...)

但我想在我的视图上渲染它,没有初始化的模型,比如“创建”视图。

  

创建视图绑定到模型,但初始化为空。

我已经尝试过:

@Html.Partial("_MyPartial")主视图模型传递给partial,它会抛出不兼容的类型错误。

@Html.Partial("_MyPartial", null)会抛出相同的错误。

@Html.Partial("_MyPartial", new MyClass())使用默认值初始化视图。我不想要预先初始化的视图。

在“创建”视图中,没有模型传递给视图,但视图绑定到模型。我想在“创建”视图中呈现此部分。它不能绑定到初始化的模型实例。它必须初始化为空。

4 个答案:

答案 0 :(得分:1)

您已编写代码以接受视图中的模型类型:

@model MyApplication.Models.MyClass

因此必须在视野中传递模型。

如果您不想使用模型,请删除接受模型的代码

答案 1 :(得分:0)

尝试使用html.renderaction而不是部分like this并且不要为视图声明任何模型,如果它真的不首先使用它?

哦,是的,在动作回归中返回部分视图,不要忘记@符号之后的花括号,这很重要

答案 2 :(得分:0)

事实上,这是不可能的,因为如果自身不存在,则会导致部分视图从主视图中获取模型。

在这种情况下,您必须初始化部分调用并不仅将模型传递为null,而且还必须清除上下文中的所有数据。

答案 3 :(得分:-1)

如果要返回没有模型的部分视图。使用它。

@{ Html.RenderPartial("Your partial view") }