MVC Razor - 创建/编辑视图最佳实践

Dav*_*wys 21 razor asp.net-mvc-3

我第一次使用MVC 3/Razor,创建和编辑视图的所有示例和VS脚手架都为这些概念提供了单独的HTML视图,这似乎很奇怪.

许多创建/编辑表单之间没有太大的区别,所以我想知道为什么我找不到使用单个更新表单的人员的示例,可以由创建和编辑操作使用.

我已经获得了一个Update.cshtml视图,但是想知道它如何与控制器上的Edit或Create操作方法进行对话.

我的问题是:

  1. 任何人都可以快速回答与控制器交谈,或者
  2. 任何人都知道一个教程,显示以这种方式工作的良好实践,或者
  3. 当HTML通常相同时,是否有一些很好的理由将创建/编辑视图分开.

干杯戴夫

Rha*_*ody 10

之前会问这种(善意的!)问题:ASP.NET MVC - 使用相同的表单来创建和编辑

基本上,您可以创建局部视图并将其包含在"创建"和"编辑"视图中.

Scott Guthrie有一篇关于Partial Views的好文章.

(我在某个地方看过这个,但找不到它,我会在找到它时更新这篇文章)


小智 8

请注意,您的问题的答案也应该由业务需求(和角色)驱动.脚手架确实提供了单独的功能,在某些情况下是首选的实现.

从技术(编程)的角度来看,CREATE和EDIT功能通常非常相同.这可以使技术人员认为应该结合功能以实现更有效的技术解决方案.但是,任何技术实施都必须响应业务需求,这可能需要对这些问题进行分离(例如,通过业务角色).

例如,企业可能要求CREATE业务对象的角色与编辑它们的角色不同.在这种情况下,实现的网页可能根本不会被相同的角色(和人)看到.

如果使用通用功能实现CREATE和EDIT,但业务需要是角色分离,则必须在呈现所需的视图/部分视图/等之前实现"角色检查".在这种情况下,单独的视图可以是优选的实现.