2008-12-30 54 views
0

我应该在ASP.NET MVC中使用相同的控制器和视图来编辑和创建模型,还是应该创建视图和控制器操作以创建视图和控制器操作以进行编辑?我应该在ASP.NET MVC中使用相同的控制器和视图来编辑和创建模型吗?

编辑观点肯定是可能是不同的 - 它并不总是有意义的用户界面编辑对象是一样的创作来看,

通过分离,我会避免很多的意见“if语句”来确定我是否正在编辑或创建...

想法?

回答

2

我所看到的建议是暗示视图与控件中包含的常见元素分离以保持干燥。

对控制器采用相同的方法似乎是合乎逻辑的 - 在适当的地方重新使用公共部分。

此视图在这里镜像How to cleanly reuse edit/new views in Asp.NET MVC,因为问题非常相似。

0

AFAIK此建议:(例如,在使用人)

使用一个控制器来处理这两种情况下

在这种控制器,有四个动作:

  • 新()
  • 编辑(int personId)
  • 创建(人员p)
  • 更新(人员p)

两种观点,人/ New.aspx和人/ Edit.aspx

这两种观点都包含了形式职位,以各自的行动:

  • 新建 - >创建
  • 编辑 - >更新

现在你有两种选择,可以两次实现窗体内容(在每个视图中)或实现实际的m在PersonForm.ascx中并使用部分渲染来渲染表单内容。

你选择走在最后一步的方式取决于表单是差不多是相同的(去一个共同的控制),或者如果他们是不同的(实现两个不同的)

如果只是新/编辑表单中布局不同的问题,您可能只想引用不同的css文件,并让css处理差异

相关问题