2010-06-01 41 views

回答

1

还有其他选择。基本上我的头顶上有三个选项。

  1. 您可以创建一个用户控件,并拥有非常轻量级的编辑和创建页面。
  2. 如果您使用的是ASP.MVC 2,则可以将布局捕获为视图模型上的属性,并使用新的模板助手DisplayFor和编辑/创建案例EditorFor/EditorForModel。
  3. 您可以在控制器操作调用View时指定视图名称。
0

您可以指定希望控制器方法使用哪个视图,因此对于拥有两个不同的视图没有严格的要求。

如果您的添加和编辑视图看起来完全相同,但您希望向用户清楚他们是添加还是编辑,您可以简单地将不同的标题推送到ViewData中,并将其显示在共享视图中。

您还可以将视图置于“共享”文件夹中,或者创建可共享的.ASCX部分。

0

去吧。它非常有意义。应该始终为前端开发人员设置视图,因为控制器可以将数据传递到任何视图,而无需任何额外的工作。你应该不会被限制去做某件事,只是因为ReSharper这么说。

1

你不“有”做任何事情。 MVC基于约定,这些约定很有价值,但这些在技术上并不需要。在你的情况下,我认为避免冗余代码更重要。

您可能会考虑仅使用“更新”操作和Update.aspx视图(表单)来处理它。

对创建和更新使用相同的表单。唯一的区别是,创建时,表单不会有对象ID。

提交后,如果Update操作看到一个ID,它将加载该对象。如果不是,它会实例化一个新的。然后只需更新表单中的属性,并提交(保存)。

所以,一个动作和一个视图。代码少,它保持惯例。

相关问题