为了给这个问题添加前缀,我决定将我们的旧版遗留系统(从vb6,vba,vb.net到40多个程序到c#.net)移动到使用相同DAL的两个独立系统(条形码终端和一个基于网络的系统)因为我花了大部分时间在15年的vba程序中修复糟糕或不存在的业务逻辑.我最近构建了一个完整的实体框架模型,具有流畅的验证,并且在使用它之后对它感到高兴.
小团队熟悉webforms(但不是很),但最近几天我探索了MVC Razor.我喜欢MVC框架,直到我试图开始尝试在同一页面上添加更多功能,然后似乎任意难以复制我放在webform中的最新系统.以前,我会急切地加载客户及其所有子实体,然后将其绑定到客户的单页,以便他们可以访问所有内容(这是他们想要的),它可以正常运行并且不会很慢.从这个单一页面我可以编辑他们所有的帐户详细信息/联系人/电子邮件/电话/工作.
我在MVC中完成和看到的所有示例都处理单个更新,单个编辑等但您肯定无法将每个操作分离到新的视图/页面中?我可以将丰富的模型传递给MVC中的视图,但是尝试更新所有不同的子实体会很痛苦.
这可能是MVC没有设计的确切设计,这是好的,如果MVC将是一个更好的平台,我愿意适应它,但你是如何处理增加这种复杂性的呢?我见过的一些方法:
<forms>围绕一切包装多个方法并以这种方式处理动作的方法.如果解决方案更轻巧,更易于维护,我将研究我需要的任何东西,我只是想在早期阶段看看我是否在浪费时间.任何指向我应该问的正确问题的指针都将不胜感激.
与其他任何技术相比,ASP.NET MVC处理复杂页面的能力或多或少都没有.
当然,MVC需要比Web Forms应用程序更低级别的工作,没有直接的绑定支持,但在大多数情况下,这是一件好事,并且在页面呈现方式方面提供了更大的灵活性.
MVC的整个想法之一就是让你对事物有更多的控制权,但是这种控制导致你需要更多的知识,并且在大多数非平凡的案例中都要付出更多的努力.MVC提供了许多工具功能来加速琐碎的工作(比如创建基于标准表的CRUD),但是当你有复杂的模型时,你将不得不自己完成大部分工作.
这并不是说MVC"不适合"它,但只是控制和灵活性需要权衡,你需要承担更多的责任.
在您的情况下,您只需创建一个包含所需字段的视图模型.然后,您创建表单以编辑这些字段.在控制器中,您需要取消该视图模型,并在数据库中创建或更新必要的记录.这并不难,但它比WebForms数据绑定更有用.
您可以查看更高级的MVC工具(商业),例如Telerik的工具,它们已经开发了更多类似数据绑定的接口,但MVC不是一种拖放式技术,需要您连接并编写所做的各种逻辑.
如果你需要drag-n-drop,数据绑定功能,那么没有.. MVC不是正确的技术.但是,WebForms要求您接受许多妥协,并以多种方式绑定您的双手.
您可以使用部分视图,但我很少使用它们.我更喜欢使用Editor/DisplayTemplates,因为它们可以正确地命名表单字段,即使对于集合和复杂对象也是如此.如果你不小心,PartialViews往往会有很多陷阱.我几乎只使用它们作为幻想包含,或使用Ajax时.
我不确定你是什么通过" <forms>围绕一切包装多个."你不能在HTML中嵌套表格,这是不合法的.如果你的意思是在表格的每一行周围放置一个表格,在大多数情况下这不是有效的HTML (将表格放在表格和tr之间是不合法的).
如果你遇到一个你可以提出的具体问题会有所帮助,模糊的反对意见无助于我们解决你的问题.
| 归档时间: |
|
| 查看次数: |
296 次 |
| 最近记录: |