使用ASP.Net MVC相比Web Forms的最大优势

20 浏览
0 Comments

使用ASP.Net MVC相比Web Forms的最大优势

使用其中之一有哪些优势?

0
0 Comments

ASP.Net MVC相对于Web Forms的最大优势是什么?

在过去,使用经典ASP的人们都会记得在代码中混合了HTML和JavaScript的噩梦,即使是最小的页面也很难搞清楚它到底在做什么。当ASP.Net出现时,它被誉为救世主,将代码与内容分离,使我们能够由Web设计师创建HTML,而程序员则负责编写后台代码。如果我们不想使用ViewState,我们可以关闭它。如果出于某种原因不想使用后台代码,我们可以像经典ASP一样将代码放在HTML中。如果我们不想使用PostBack,我们可以重定向到另一个页面进行处理。如果我们不想使用ASP.Net控件,我们可以使用标准的HTML控件。如果不想在控件上使用ASP.Net的runat="server",我们甚至可以查询Response对象。

现在,有些人(可能是那些从未编写过经典ASP代码的人)决定回到将代码与内容混合的日子,并将其称为“关注点分离”。当然,你可以创建更干净的HTML,但在经典ASP中也可以实现。说“如果你的视图中有太多代码,那么你的编程方式是错误的”就好像说“如果你在经典ASP中编写结构良好且有注释的代码,它比ASP.NET要整洁和更好”。

如果我想回到将代码与内容混合的情况下,我会考虑使用PHP进行开发,因为它对这种开发方式有一个更成熟的环境。如果ASP.NET存在这么多问题,为什么不修复这些问题呢?

最后但并非最不重要的是,新的Razor引擎意味着更难区分HTML和代码。至少在ASP中,我们可以寻找开放和闭合标签,如<%和%>,但现在唯一的指示将是@符号。

也许现在是时候转向PHP,并再等待10年,直到有人再次将代码与内容分离。

+1 一针见血。我对MVC的第一反应是,我又在做经典ASP了,只不过这次是用C#而不是VBScript。

我对这个答案为什么得到这么多赞感到惊讶。首先,ASP.NET MVC内置了M-V-C的分离。当然,你也可以在ASP中实现这一点。其次,ASP.NET MVC不仅仅是经典ASP。它提供了对HTML的精细控制,结合了.NET的强大功能,还附带了许多有用的辅助工具。第三,@符号和<% %>都是很好的符号。任何一个优秀的Razor视图编辑器都会支持@符号。最后,PHP成熟?me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design ASP.NET MVC是一个伟大的平台。多给它一些关注吧。

你在开玩笑吗?我一直在使用带有“”标记的PHP,并发现它非常冗长。我不明白为什么“@”符号比“<%...%>”标记更难识别。而且在HTML模板中很少使用“@”符号。

我的眼睛在Razor页面上可以得到更好的休息,而在“<% %>”符号的地狱上则会感到头疼。阅读.aspx页面让我头痛。我更喜欢看到正在渲染的内容。一个(...){

...

}块让我感到比一个更舒服。我经常进行客户端操作,我需要准确地知道将在哪里、以及使用哪个ID、样式和类来渲染。我宁愿自己做,也不愿让控件在运行时自动完成。特别是当某些控件根据其设置以不同的方式呈现时。

我对这个答案得到赞成票感到惊讶,这是对MVC框架的完全误解。如果你发现在MVC中混合代码和内容,那你就错了。你的视图有内容,你的控制器(以及它们使用的类)有代码。这是MVC的主要原则之一。

0
0 Comments

ASP.Net MVC相对于Web Forms的最大优势是什么?这个问题的出现的原因是,有很多开发者在选择使用哪种技术来开发Web应用程序时感到困惑。为了解决这个问题,我们可以从下面的内容中找出两种技术的优势和劣势,以及它们在开发过程中需要考虑的因素。

首先,我们来看ASP.Net Web Forms的优势:

1. 开发支持状态:Web Forms可以给开发者一种错觉,让他们觉得Web应用程序知道用户在做什么,类似于Windows应用程序。这使得实现"向导"功能变得更容易,并且Web Forms可以很好地隐藏开发的复杂性。

2. 快速应用程序开发(RAD):Web Forms具有快速启动和交付应用程序的能力。虽然这一点受到了MVC社区的质疑,但微软还是在推动这个观点。最终,这取决于开发者的经验水平和他们对哪种技术更熟悉。相对于经验较少的开发者来说,Web Forms的学习曲线可能较低。

3. 更大的控件工具箱:ASP.Net Web Forms提供了更丰富和强大的控件工具箱,而MVC更多地依赖于jQuery(Javascript)等富客户端控件。

4. 成熟稳定:Web Forms自2002年以来一直存在,并且有大量的信息可以解决问题。它还提供了更多的第三方控件库,需要考虑您现有的工具包。

接下来,我们来看ASP.Net MVC的优势:

1. 职责分离:从技术角度来看,MVC内部的代码组织非常清晰、有序和精细化,这使得Web应用程序在功能上更容易扩展。从开发的角度来看,它促进了良好的设计。

2. 更容易集成客户端工具(富用户界面工具):如今,Web应用程序越来越像桌面应用程序一样富有功能。MVC使您能够更轻松、更无缝地集成这些工具包(如jQuery)。

3. 搜索引擎优化(SEO)友好/无状态:MVC的URL对搜索引擎更友好,而且它是无状态的,这消除了多个Web浏览器之间出现的会话冲突问题。此外,MVC遵循无状态的Web协议,而不是与其抗争。

4. 适用于需要高度控制的开发者:ASP.Net Web Forms中的许多控件在页面呈现时会自动生成大量原始HTML代码,这可能会给开发者带来困扰。而MVC更适合完全控制呈现内容,而且没有令人惊讶的地方。更重要的是,HTML表单通常比Web Forms更小,这可能会提高性能,这是一个需要认真考虑的问题。

5. 测试驱动开发(TDD):使用MVC,您可以更轻松地为Web应用程序创建测试。额外的测试层将为您的应用程序提供另一层防御,防止意外行为。

,ASP.Net Web Forms和MVC都有自己的优势和劣势,并且在开发Web应用程序时需要考虑这些因素。选择哪种技术取决于开发者的经验和对功能的需求。无论选择哪种技术,身份验证、授权、配置、编译和部署都是两种技术共享的功能。

0
0 Comments

使用ASP.Net MVC相对于Web Forms的最大优势是什么?这个问题的出现原因是人们对于ASP.Net MVC和Web Forms的优势和不足的讨论。为了解决这个问题,我们可以从给出的内容中整理出MVC和Web Forms的优点,然后对比它们,得出ASP.Net MVC相对于Web Forms的最大优势。

从给出的内容中,我们可以得出ASP.Net MVC的主要优势有:

1. 能够完全控制生成的HTML。

2. 提供清晰的关注点分离(SoC)。

3. 支持测试驱动开发(TDD)。

4. 易于与JavaScript框架集成。

5. 遵循Web的无状态设计。

6. 支持RESTful URL,有利于SEO。

7. 没有ViewState和PostBack事件。

而ASP.Net Web Forms的主要优势有:

1. 提供快速应用程序开发(RAD)。

2. 对于从WinForm开发转向Web开发的开发人员来说,开发模型更容易上手。

关于关注点分离(SoC),人们可以像在Web Forms中一样,通过在控制器中编写包含大量业务逻辑甚至数据访问代码的“臃肿”控制器来混淆SoC。所以我认为SoC是开发人员必须提供的,框架无法帮助实现。

MVC确实在一定程度上推动了关注点分离的实现,或者至少不会让你为此费尽心思。所以也许这一点应该被描述为“使关注点分离更容易实现”。

在其他方法中,MVC如何“支持测试驱动开发”?我也对它如何实现RESTful URL感到困惑,因为HttpContext.RewritePath方法(String)自.NET 2.0以来就存在了。

虽然这些观点对于MVC方面大多是准确的,但很多观点现在也被整合到了Web Forms中。

通过对比MVC和Web Forms的优点,我们可以得出ASP.Net MVC相对于Web Forms的最大优势是能够提供清晰的关注点分离,使得代码更易于测试和维护。

原文链接:weblogs.asp.net/shijuvarghese/archive/2008/07/09/…

0