[英]ASP.NET MVC: Do I really have to create one view per action?
如果我的应用程序具有相当粗糙的区域,是否真的需要创建单独的“创建”和“编辑”视图? HTML几乎是相同的。 我希望“编辑”和“创建”动作都呈现“ Show.aspx”视图,但是肯定Resharper 5抱怨没有“显示”动作。
什么是最佳做法?
还有其他选择。 基本上,我有三种选择。
您没有“要做”任何事情。 MVC基于约定,这些约定很有价值,但是在技术上并不是必需的。 对于您的情况,我认为避免冗余代码更为重要。
您可能会考虑只使用一个“ Update”操作和一个Update.aspx视图(窗体)。
使用相同的表单进行创建和更新。 唯一的区别是,在创建时,表单将没有对象ID。
提交后,如果“更新”操作看到一个ID,它将加载该对象。 如果没有,它将实例化一个新的。 然后只需从表单更新属性,然后提交(保存)。
因此,一举一动。 更少的代码,并且保持惯例。
您可以指定要使用控制器方法的视图,因此对两个不同的视图没有严格要求。
如果您的“添加”和“编辑”视图看起来完全相同,但是您想让用户清楚他们是要添加还是编辑,则只需将另一个标题推入ViewData,然后在共享视图中显示即可。
您也可以将视图放在“共享”文件夹中,或创建可以共享的.ASCX部分。
去吧。 这是很合理的。 应该始终为前端开发人员提供方便而设置视图,因为控制器可以毫不费力地将数据传递到任何视图。 您不应该仅仅因为ReSharper这样说而感到被限制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.