2012-01-07 81 views
1

我有一个表单正在用于编辑现有对象以及输入一个新对象。传递模型以查看可选

当我用它来编辑,我通过模型视图这样

return View("Details", myModelObject); 

动作里面。当我使用的详细信息视图进入新的对象,我不传递任何

return View("Details"); 

我正在连接错误,因为该框架预计模型为在视图的beggining传递在我

@model myApp.Models.myModel 

解决方法之一是传递一个空模型,但这看起来有些尴尬和不必要。有没有办法表明@model是可选的?

+0

您是否试图检查模型是否已通过或未在视图中? – 2012-01-07 03:55:22

回答

5

一种方法来解决是通过一个空的模型,但是这似乎笨拙样 和不必要的

这是正确的做法。你的观点期待一个模型。由于此视图旨在创建新模型,因此传递该模型的新实例是非常自然的:

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

太好了,谢谢你指出这一点 – sarsnake 2012-01-09 18:23:30