作为具有一些 winform 和客户端应用程序经验的人 - 是否值得回去学习传统 ASP .NET 页面的工作方式,或者直接转向 ASP .NET MVC 是否可以?

我正在寻找我的一般 C# 知识中的陷阱或陷阱,而我无法从截屏视频系列和 ASP .NET 网站上的内容中了解到这些陷阱。

有帮助吗?

解决方案

这就是 MVC 的伟大之处。与普通的 ASP.NET Web 窗体相比,它的工作方式更接近框架的基础。因此,通过使用 MVC 并理解它,您将更好地理解 WebForms 的工作原理。WebForms 的问题在于它有很多魔力,并且花费了大约 6 年的时间来尝试使 Web 像 Windows 窗体一样工作,因此您拥有控制树层次结构和所有转换为 Web 的内容。通过 MVC,您可以获得核心而不受 WinForm 的影响。

因此,从 MVC 开始,如果需要,您将能够轻松地迁移到 WebForms。

其他提示

我同意尼克的观点:MVC 更接近于 真实的 网络范式,通过使用它,您将了解您的网站的真正运作方式。WebForms 将这些事情中的大部分从你身上夺走,而且,由于我有 PHP 背景,我发现它确实违反直觉。

我建议你直接跳到MVC并跳过WebForms。如前所述,如果需要,您可以返回到它。

ASP.Net Webforms 是与 ASP.NET MVC 完全不同的基本框架抽象。与 ASP.NET Webforms 相比,使用 MVC 可以更好地控制幕后发生的事情。

在我看来,学习不同的做事方式通常会让你成为一个更好的程序员,但在这种情况下,可能会有更好的东西需要学习。

这取决于你的动机。如果您打算以 ASP.NET 开发人员的身份推销自己,则两者都需要。

如果这只是为了你自己的乐趣,那么就去MVC吧。

我个人的感觉是,网络表单还会存在很多年。很多人都投入了时间和精力。然而,我认为人们会慢慢地(或者也许不会那么慢!)迁移。Webforms 始终只是让拖放 VB4 死者思考 Web 开发的一种方式。这确实有效,但确实剥夺了很多控制权。

ASP.NET MVC 适合那些希望将客户端代码与服务器代码解耦的开发人员。我想编写可以在服务器之间移动的 JavaScript、XHTML、CSS 客户端(不考虑服务器技术)。客户端的安装和完成非常耗时,因此您希望将它们(和子组件)用于尽可能多的服务器。此外,这种解耦允许您的服务器支持任何支持 HTTP 和尖括号(和/或 JSON)的客户端技术,例如 WPF/Silverlight。如果没有 ASP.NET MVC,您将被迫与整个 ASP.NET 团队建立敌对关系 — 但 Scott Guthrie 是一个很酷的家伙,在他的前任(也许还有 Scott 本人)多年来几乎完全专注于 MVC 后,他将 MVC 带到了桌面上。让 Windows 窗体程序员编写 Web 应用程序。

在使用 ASP.NET MVC 之前,我主要基于 ASHX 文件(HTTP 处理程序)构建 ASP.NET 应用程序。我可以向您保证,没有任何“真正的”微软商店会鼓励这种行为。从(明智的)管理角度来看,规定所有开发人员都使用供应商推荐的方式来使用供应商的工具会更容易。因此,落后一两年的 IT 商店将要求您了解 MVC 之前的做事方式。当您需要维护“遗留”系统时,这也会派上用场。

但是,对于新领域来说,它始终是 MVC!

IMO,正常的 Web 表单场景中比 MVC 存在更多的陷阱。视图状态和数据绑定有时可能很棘手。

但对于 MVC 来说,它只是简单的形式后/渲染事物的老式方式。并不是说它不好,它只是不同,而且也更干净。

我无法真正从技术上谈论 MVC 与“传统”,因为到目前为止我只使用了传统模型。但根据我所读到的内容,我不认为其中一个比另一个优越得多。我认为一旦你“掌握了它”,你就可以在这两方面都非常富有成效。

但实际上,我会考虑到大多数书籍、代码示例和现有应用程序都是以“传统”方式编写的。您可以获得更多帮助,并且您的技能对于以“传统”方式编写现有申请的雇主来说会更有用。

如果您不知道如何或没有原始级别 Web 请求/响应和原始 html/css 渲染的经验,那么 MVC 将是一个很好的起点。然后您将更好地了解 Webform 和 MVC 的优缺点。它们将来都会存在,因为它们都满足不同的需求。

尽管我会说网络表单是一个被高度误用和滥用的平台。如此多的“look no code”垃圾给所有使用它的人带来了坏名声。花时间理解它并正确使用它,您会发现它是一个非常可扩展且强大的平台。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top