1

我最近对 ​​Microsoft 为开发 Web 表单提供的所有选择感到沮丧。有 Sharepoint、不带 Sharepoint 的 Infopath、ASP.NET Web 窗体(每个运行时具有不同的控件)、不带 Web 窗体的 ASP.NET、ASP.NET MVC 框架、Silverlight 和 WCF。除了渲染和数据绑定技术之外,还有几种不同的方式可以将数据传入和传出数据库(DataSets、LINQ、SqlDataControls 等等),而这些只是我在一分钟内能说出的那些——我我确定我错过了一些非常古老的技术(FoxPro 是否曾经获得过 Web 前端)或者在 Microsoft Labs 推出的过程中非常新的东西。

如果我想放弃使用 ASP.NET Web 窗体和数据集,那么现在对于数据驱动的表单来说,最好的方法是什么?你用什么方法为你的编程时间带来了很好的价值?我很想尝试使用 LINQ to Entities 和新的 MVC 框架,但我对所有这些新技术的了解还不够,无法选择价值所在。

4

4 回答 4

2

之前已经说过很多次了——没有“什么是最好的”。如果这些工具中的任何一个是最好的,那么其余的将不存在。“数据驱动表单”是一个非常广泛的需求声明。

它们在其他领域各有优缺点,但都具备“数据驱动形式”的能力。MVC 是较低级别的表单 - 您必须自己放入所有 HTML 和表单处理,但是,它更接近于直接处理 HTTP,因此很多人发现它更轻量级且更易于使用。

Silverlight 的缺点在于它使用的 .Net 库集较少,并且需要用户安装浏览器插件。

WCF 将提供表单背后的数据,如果您计划开放公共 API 或以其他方式使用数据,WCF 将非常适合。

您可能会发现每项技术研究一个小时甚至是有益的,并且您会更好地了解哪种技术可能适合您的需求。

于 2009-07-24T18:38:16.687 回答
1

如果您使用的是 ASP.NET(在尝试编写常规网站时,感觉有点“硬伤”),那么我强烈建议您尝试 Microsoft 的 MVC 框架。这真是一股新鲜空气!

从每工作小时 POV 的价值来看,这实际上取决于您在做什么。我不能说我已经尝试过很多 web 框架,所以我可能不是最好的衡量标准,但是使用 MVC 一切都很自然,我很高兴现在坚持下去。

于 2009-07-24T18:22:00.650 回答
1

我不认为 ASP.Net Forms 是您需要“摆脱”的东西。

MVC 当然有它的用处,并且在适当的时候肯定会使很多东西变得更简单。

但设计良好的 ASP.Net Forms 应用程序在某些情况下可能同样有用,甚至更有用。

我自己将 MVC 用于面向公众的网站,将 Forms 用于内部/管理的东西。

于 2009-07-24T18:26:53.573 回答
0

对于数据量大的页面,我认为 Web 表单是一个完美的解决方案。MVC 引入了层分离,这可能会使您更难开发,因为它迫使您分离数据的收集和路由。

我想说 MVC 非常适合拥有交互式网页(Web 2.0-ish),但如果您只是显示一堆报告或让用户填写表格 - 恕我直言,您没有太多可利用的优势。

作为替代方案,尝试使用Repeaters 或DataGrids 甚至DataSets 等内置控件编写更少的代码。深入了解数据流的核心可以让您通过编写更智能的代码来提高工作效率 - 不一定是通过编写更少的代码。

最后,我发现我将自己的“框架”放在一起,这正是我所需要的。我直接从自定义控件获取 HTML。这些控件只是将过程调用提供给我的自定义数据库访问类的数据格式化。是的,这些都是通过 Web 表单或 http 处理程序 (ASHX) 和一点点 jQuery 提供的。

因此,虽然它并不迷人,但它可以更快更好地完成工作——通过开发针对我的业务进行微调的代码,而不是针对某些抽象的软件设计模式。

于 2009-07-24T18:49:57.583 回答