ASP.NET MVC。如何使无模型部分(如创建视图)
我想渲染部分是这样的:ASP.NET MVC。如何使无模型部分(如创建视图)
@Html.Partial("_MyPartial")
但是我确实部分需要一个类型的对象,例如:MyPartial.cshtml:
@model MyApplication.Models.MyClass
(...)
但我想在我的视图上呈现它,而没有初始化模型,如“创建”视图。
创建视图绑定到模型,但初始化为空。
我已经尝试过:
@Html.Partial("_MyPartial")
主视图模型传递到局部,它抛出一个不兼容的类型错误。
@Html.Partial("_MyPartial", null)
抛出相同的错误。
@Html.Partial("_MyPartial", new MyClass())
使用默认值初始化视图。我不想要预先初始化视图。
在“创建”视图中,没有模型传递给视图,但视图绑定到模型。我想在“创建”视图中呈现这部分内容。它不能绑定到已初始化的模型实例。它必须初始化为空。
尝试使用html.renderaction而不是做部分like this并且不要声明视图的任何模型,如果它真的不使用第一个地方?
哦,是在行动回报返回partialview不要忘记@符号后面的花括号,它很重要
您已经编写代码来接受视图模型类型:
@model MyApplication.Models.MyClass
所以是强制性的,你必须通过模型的视野。
如果你不希望使用的模型,然后删除您的代码接受模型
您的评论不适用于“创建”视图,其中没有模型传递给视图,但视图绑定到模型。我想在“创建”视图中呈现这部分内容。它不能绑定到已初始化的模型实例。它必须初始化为空。 –
“我不想预先初始化视图” - 你究竟是什么意思?如果你想要的东西不是默认的构造函数提供的东西,请使用对象初始值设定项。 –
他不想在输入框中输入默认值,例如在他的模型的int属性的输入中输入'0',类似于'return View();'vs'return View(model);'in a创建控制器操作。 – Jecoms
听起来你可能会滥用mvc模式。你有用例吗?你可以有一个没有模型和子类的基本视图,但是,你不能有一个视图绑定到模型,然后不传递任何视图。 –