自定义asp.net webforms标记

时间:2010-09-11 09:19:49

标签: asp.net html css asp.net-mvc

我是asp.net世界的新人。我听说过很多关于asp.net mvc的知识,而且它比webforms更有关于自定义标记和CSS的能力。我也听说asp.net比asp.net mvc更容易学习,所以我决定去asp.net和webforms。我的问题是:Web开发人员/设计人员可以通过webforms获得有关标记和CSS的定制级别是什么?

4 个答案:

答案 0 :(得分:0)

标准ASP.NET WebForms使用为您生成标记的服务器控件,因此自定义级别仅限于您使用的控件提供的内容。有些技术允许您覆盖控件呈现的内容,从而自定义标记并编写自己的控件,但需要进行一些编码。可以实现几乎完全自定义的标记,但是它需要比Web开发人员需要做的更多努力。

虽然使用经典的ASP.NET WebForms绝对可以拥有一个SEO友好的,可单元测试的,可维护的,符合标准的应用程序,但与ASP.NET MVC相比,它所需的努力将是非常重要的。但如果您不关心这些事情,您将能够快速开发Web应用程序。

答案 1 :(得分:0)

ASP.NET带有一组内置的用户控件 - 比如文本区域,按钮等。这些模仿winforms它们应该如何工作(事件等),但这是一个相当漏洞的抽象(你必须始终记住你正在使用HTML和HTTP)。

用户控件允许重用,当构建页面时,它们会发出HTML - 你几乎无法控制发出的HTML(除非你覆盖渲染,这有点击败了点),因此认为它们更难定制。要想做到这一点并不容易,需要的工作量超出我的预期。

在页面呈现方式上也存在不同的妥协(例如,id最终作为一长串连接的容器控件名称),如果您正在寻找对HTML的控制,这将使MVC成为更好的选择。

答案 2 :(得分:0)

Microsoft建议您根据自己的需要选择技术: 虽然ASP.NET提供了丰富的控件并且在没有对标记的很好控制的情况下产生了快速的结果(如上所述:它可以完成,但不知何故击败了ASP.NET背后的想法并创建了许多其他代码),它受到了提到的缺陷的影响。其他海报。

在MVC中,有一组有限的“开箱即用”控件,您必须自己编写更多代码(包括客户端JavaScript),但您可以更好地控制您的渲染标记控制。除此之外,您的项目通常会对关注点(单位)测试和维护进行清晰的分离。

尚未提及的另一个方面:在ASP.NET中,每次客户端与服务器通信时,页面都会经历所谓的“ASP.NET生命周期”。生命周期由几个以特殊(有时令人困惑)的顺序触发的事件组成。在复杂的Web应用程序中以正确的顺序处理这些事件是ASP.NET中最大的困难之一,并且常常导致初学者放弃。在MVC中,您不必处理这类问题。 因此,我强烈建议您在开始编码之前先查看ASP.NET体系结构。这是一个非常基本的开始:http://www.asp.net/learn/videos/video-6558.aspx

就我个人而言,我从WebForms开始,现在我在Silverlight和WPF中使用类似的MVVM模式学习论文后转向MVC。这样做对我来说,以便我现在更好地理解MVC背后的好处和想法。一旦习惯了WebForms,切换就不那么容易了。

答案 3 :(得分:0)

您可以在html输出中进行任意数量的自定义!您可以自定义Web表单中的所有内容。但是,定制会带来时间,精力和错误空间。所有这些都是网络形式试图拯救你的东西。

然而,因为你刚开始我不会担心。只需按照自己的方式制作Web表单并忘记输出的自定义(无论如何,使用ASP.NET 4都要好得多)。在你经验丰富的几年里,担心。

如果您要自定义所有内容,那么您应该使用ASP.NET MVC - 这是它的主要参数之一。但是Web表单没有任何问题。特别是如果你开始使用asp.net 我会说它更好