【发布时间】:2018-08-30 21:47:10
【问题描述】:
我想像这样渲染局部:
@Html.Partial("_MyPartial")
但是我的部分确实需要一个类型化的对象,例如:MyPartial.cshtml:
@model MyApplication.Models.MyClass
(...)
但我想在我的视图上渲染它没有初始化模型,比如“创建”视图。
创建视图绑定到模型,但初始化为空。
我已经尝试过的:
@Html.Partial("_MyPartial") 主视图模型被传递给部分,它抛出一个不兼容的类型错误。
@Html.Partial("_MyPartial", null) 抛出同样的错误。
@Html.Partial("_MyPartial", new MyClass()) 使用默认值初始化视图。我不想要预初始化的视图。
在“创建”视图中,没有模型传递给视图,但视图绑定到模型。我想在“创建”视图中呈现这个部分。它不能绑定到已初始化的模型实例。它必须初始化为空。
【问题讨论】:
-
“我不想要预初始化的视图”——你到底是什么意思?如果您想要的不是默认构造函数提供的东西,请使用对象初始化器。
-
他不希望输入框中的默认值,例如
0在其模型的int属性的输入中,类似于创建控制器中的return View();与return View(model);行动。 -
听起来您可能在滥用 mvc 模式。你有用例吗?您可以从那里获得没有模型和子类的基本视图,但是,您不能将视图绑定到模型然后不传递该视图。
-
我用于补充“创建”视图。其中一些部分是由 ajax 动态添加的。
-
这是一个相关问题。我也想这样做。你想通了吗? @丹尼尔桑托斯
标签: c# asp.net asp.net-mvc partial