将模型传递给可选的视图

时间:2012-01-07 00:53:25

标签: asp.net-mvc-3 view model

我有一个表单,用于编辑现有对象以及输入新表单。

当我使用它进行编辑时,我将模型传递给动作中的视图,如此

 return View("Details", myModelObject);

当我使用“详细信息”视图输入新对象时,我没有传递任何内容

return View("Details");

我收到错误,因为框架期望模型在我的视图开始时传入

@model myApp.Models.myModel

一种解决方法是传递一个空模型,但这似乎有点尴尬和不必要。有没有办法表明@model是可选的?

1 个答案:

答案 0 :(得分:5)

  

一种解决方法是传递一个空模型,但这看起来很亲切   尴尬和不必要的

这是正确的方法。您的视图需要一个模型。由于此视图用于创建新模型,因此传递模型的新实例非常自然:

return View("Details", new MyViewModel());