none
以现在的硬件条件来论的话,ASP.NET的网站是用服务器控件好一些,还是html控件好一些?请大家帮忙回答一下!谢谢啦! RRS feed

  • 常规讨论

  • 现在有些公司的项目,都不用ASP.NET内置的服务器控件,而是用html控件+js来做,后者维护难度很大,但为什么他们还要这么做?是什么原因呢?

    难道前者不更利于公司吗?开发速度快,易于维护,这不是软件开发的追求目标吗?为什么还要走asp那种老路呢?存在就一定有它的道理。

    请大家讨论一下,为什么这样,而又为什么这样?


    2011年11月8日 2:56

全部回复

  • 你好,

    ASP.NET内置服务器控件当要呈现的时候还是有浏览器翻译为普通的html代码的,这就加大了浏览器加载时的工作量,降低了网页加载速度,如果一个网页大量使用服务器端控件,网页的打开速度会大大降低,直接用html来做可以最大限度降低浏览器负担。


    Allen Li [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年11月9日 7:54
    版主
  • 你好,

    ASP.NET内置服务器控件当要呈现的时候还是有浏览器翻译为普通的html代码的,这就加大了浏览器加载时的工作量,降低了网页加载速度,如果一个网页大量使用服务器端控件,网页的打开速度会大大降低,直接用html来做可以最大限度降低浏览器负担。


    Allen Li [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    不是浏览器。是服务器吧,更准确一点可以说是ASP.NET 引擎吧。

    理解的越多,需要记忆的就越少
    2011年11月10日 5:46
    版主
  • Html控件和服务器控件各有好处.采用服务器控件时,主要弊端有三个:

    1. 服务器上的ASP.NET解释引擎需要把控件翻译成HTML代码,这样会一定程度上增加服务器的负担.
    2. 新入门的程序员不会合理的取舍ViewState,造成页面中���PA4gN��������POST /Forums/zh-CN/adonetzhchs/thread/38d14638-1841-4d59-bcf3-da010c5d36d2/0247ef2d-8e09-435e-a493-de493b93a67b/reply HTTP/1.1 Accept: */* Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest Referer: http://social.msdn.microsoft.com/Forums/zh-CN/adonetzhchs/thread/38d14638-1841-4d59-bcf3-da010c5d36d2?prof=required Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; 360SE) Host: social.msdn.microsoft.com Content-Length: 5890 Connection: Keep-Alive Cache-Control: no-cache Cookie: MC0=1321723654164; MC0=1321727869665; MC0=1321727869665; .ASPXANONYMOUS=q1IAjtefzQEkAAAAYzNjYmE2MGEtZWE3YS00NjZiLThkZTgtOWMwYzM0ZTc4MzAy1R7vrb8xi0f685j2qfOO4q6zUlI1; s_cc=true; s_sq=msstomsdn,msstomsdnforums,msstodpecar=%26pid%3Dsocial.msdn%253A/forums/zh-cn/adonetzhchs/thread/38d14638-1841-4d59-bcf3-da010c5d36d2%26pidt%3D1%26oid%3Dfunctiononclick%2528event%2529%257Breturnfalse%253B%257D%26oidt%3D2%26ot%3DA%26oi%3D517; FedAuth=77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U2VjdXJpdHlDb250ZXh0VG9rZW4gcDE6SWQ9Il9mYmU2NTMyNS04ZjA2LTQ4MjUtODA1NC1hZTQwMjA5YTcwNmYtMjU2QTQwMkIxNkY5RjJDRkY0QUEzOEVCQTZFMjIzRjciIHhtbG5zOnAxPSJodHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy93c3MvMjAwNC8wMS9vYXNpcy0yMDA0MDEtd3NzLXdzc2VjdXJpdHktdXRpbGl0eS0xLjAueHNkIiB4bWxucz0iaHR0cDovL2RvY3Mub2FzaXMtb3Blbi5vcmcvd3Mtc3gvd3Mtc2VjdXJlY29udmVyc2F0aW9uLzIwMDUxMiI PElkZW50aWZpZXI dXJuOnV1aWQ6OTBhYjY5MjgtODc1OS00NGE5LTk5MTAtMWQzNmNkM2NjZGVlPC9JZGVudGlmaWVyPjxJbnN0YW5jZT51cm46dXVpZDo1NjRjMmQzMy00ZGZjLTQ0N2ItOGEzZi0xNWJjNDYyYjk1Y2Q8L0luc3RhbmNlPjxDb29raWUgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwNi8wNS9zZWN1cml0eSI YkhQWmFXcktFZEErWU0vWkVaeWFwQlJaalVRUTQ5bGJQS1FhRzI5TUNDQUFBUUFBdHdvNFJmSHJlQlpGVGVad0xjOHI2cVlISWRaUk1wZjJsVU9oQkVtQmtqSnhTZkd5MEVHVkN6UHBPY0VDY3hnVWhwSDlnZWM3b0lkcFlnS2tleFZOdmx5RmJOc1pHS0tLRVpyM2V3Y0JTWmNDWUdlYnY1RnhoVTM1Wm5ibks3UWp2czgveFplZmtSZ0U5UndoUVg5ZjF4emJUT2Y2b0lKeUJYMkgyUHNFQ20rWVg2OWQydHUvMklINDNpRUd4b0k1aE5FK3N2SkRIZm8vaHZ5a1JYU3BFVFZYNFljQnlaZU96dVdJbkRjbGZOUUJUS3huaHJZMVBFMlRXWjR3MG9aOWQwT3dzWFBjQkxDMi9hbWhuN2NRcE1nelZ6SWxCeFhxWWhCYzNKckwzU1ZmS0JuSW56czJ5L3MxazNCVzhSaE4wT2JHWlZOZVNjQmhCYmUzY2sxMFQvQUVBQUJUS01oK2kvYmp6VldOTHdmTmdHN3J4NnNQNzlWdVZoRGROd2ZpNzFCWDVFTDU5RExESGhqZ0llSjBiNWNtUkE4ZnY1aHRPVmsrckZoMlZsNHVCYWd4WXR6TmljS2lEcklwQTcwMlpxczUybUhrMW8yK2VsTDJsZnNINWMrOG9vZklIeHFMRm5NUEwybVNJV3BlcjJRT2VSVVNwU2c0S3hOREJwaVovWUhUaFBoRkQ0YXd1NWlzRGNhQmpEaHdWRjNsODZnVytycDdRSzAxcGpOSTMySWFiemZ0U2Vkc2lGZkhZOCtsZkpjNlc5bUtsL1BZdHV0bytnRHlzR29Wb2NFM2NEL1dqK2E4Q1NSYlhtZDdQd0xJcTZoUnY5OU4zL0ZnV0xFdHZxb1VsTzlZYUhYVGZBQ3ZuK2F3enRpeit3OUZLWTJxZlFVRG1LZlBEZFk5VXBNN1A5TDBieG5NVzR5OGRsaWE0bC93RHZRZjRIR2dtbk1OTnVlZFhkbHlpNXA1K0d4OTlYeEg2b0JmcU1qWVRyMmoyVkJrNmFaNXZ3WVpoNVREbGVyWlhnRS9FOTc5eEw1b1RLYkQwSlZvLzg2OVNuQ1dBWm0wemxRQXJuTUZDSjNnRTJINE5iSVRuaHpGRmhvWGw1UFk4Nkt5b0VjY3hYdFpZU3QwaUdGVE5iL0pWTlBudDZNYU5OaG0wS1J0VVN1bnUyVmZNS0liRTZPMVhiVkRjT2dvbFFiOFZnUkdFWWhsbnNuVndOY0YvNitkSENKL2FWM0pHZmFiVG5haVhndjRx; FedAuth1=OFhabmFibmt4dVZibElndmdITDZQQXJ5UTZjb2I5ZERyN1RrS3YzVWZLcW5oSWpYTGFQaWNwZGxkNE1XSUpQM1lIWEVjaU83WGRvMVBZS2xpeHB6aUVaaW83bUxpOHB2WWd2WU4rMytZL1VRb3R6ZUJQckFwRFU2U0tHM1gyYzMyR2pyQzFuN1ZWdGtwQWpDdHMzSWovRkRBS2FKY3BMdW00b0grSkMrc0U5Qm9WYUhIZHROR1k1MTZBM0VGeFE3alJWcmI4MEdmb2xwT2tYSmNNay9hN0FzWkY5UXF6d003am1RYmVNd0liYnJNTU5ITDA0bzdpeHpTN2VnV0VsUHlpS0t0TFRMSmJzVyt6eFlSR2hvb1hHUXlJem9WWXhJT3FNS2FMN1VRN3FNU2tUQnRhTm5ZdTBSOHVnUjBaeGNDTzhSZjhZVnFzZ3pObUs0TmUyaGVOdFl5Mlpuekt4ZFRUVUx4Q08yZVZBYnA3Nzlua1c5K1ZKR01wYTVxNVc4VUN1K2EvTUJUOVBvK3hUeFo3aGJXNFRDd3AzR000M2IyNXdIUFhGTnk1WWJLVkxoNXVSa0MrcStwTFpCYWwyT1RxSFJ6RFdsUEZ2b1RpR0lnT0VieWRPUnRDVVNoeFhKcGx6V3FhL09QWllVL2REQTlkdTZveVZQaGE2RVNQU2xGNldOL0x0OUhwTkduWk9jSzdPTER3M0VDWkFhbUI1eGR5NW9rRzBnelBwbGlwRENDQlBhM1VMU3oraEZhNzcyK0VabkM0eGkrK3k3T3hSeHFOSlAwTGU0YklTdVBMZHVRZUZYRFJ0VmREWnhSajFKYmQzOWdtTVJuN0VVcHB4ZEpIbVlTdzN1bHVuKzA4amtWV3RveFZrREkxRGRkQzZOclZzUi9ZVXJtK3ZseEhsdk9oSlpHMHlJVkFtMUFwcDcxQWRXSXBKRFpGeVY0RTAvNEVpUitUa3BvWjlRbXFBY2Q3ZTYrMDF4d2hQMUlmdDlNdExMelFSYTlSdkxDODNRYldRazlUUkVaTVFOaDgzMkgwcHBSSFJKd0tQNXJQb05GcXd3Mm1rNkM3U2UzNEY1K2dtS25OSkMyZTNvNmpVVGh5eCtabjZwZ2YzaGZ6ZDlQRy9jU0QzWG5UbHRBOG56MWdJS21ucmJLZG9vZWVPZU5ybjBJNmVSbVc1SDRiMEJCelZ2K0NJWUVmWHJ5cnNHdGxoQityajMwM3pUVTRyZ3YvVGYrTmRxa0xhd3huN1ZVbmFpdFNpRUtIcjEzcEU4bzR6ZVhpNExsUHZjSUlLYlVCam5KNUgrOUNOZUloTUZqOHMzM0NoSmxtU1NqS0lRZTVETVpBOW0zYzJ6dFcvaDJjTHdwc3ZjdE9FK0pweUdmbndSc0Rid09aWCtLemxmcFNOQW0zN005UTd6bVZyL2dmOU5OUnI1SVZCTTdOWDwvQ29va2llPjwvU2VjdXJpdHlDb250ZXh0VG9rZW4 ; A=I
    2011年11月19日 18:57
  • Html控件和服务器控件各有好处.采用服务器控件时,主要弊端有三个:

    1. 服务器上的ASP.NET解释引擎需要把控件翻译成HTML代码,这样会一定程度上增加服务器的负担.
    2. 新入门的程序员不会合理的取舍ViewState,造成页面中有很多隐藏代码,致使客户端加载网页时,造成不必要的流量.
    3. 服务器控件会生成复杂的id属性和name属性(母版页及复杂控件或控件嵌套时),给js编写带来一定麻烦(并非不能,只是name或者id名字复杂了).

    但是,这三点弊端严格说起来,是一个伪命题,或者说,尽管有这三个弊端,但是也不应该放弃服务器控件.

    1. 服务器控件确实加重了服务器端的负担,但是以目前的CPU能力来说,这点根本不是问题,采用性能更强的服务器和大量复杂维护之间,显然采用性能强服务器具有绝对的性价比(并且,除非浏览量极大的网站,否则服务器控件的负担对于服务器本身来说,几乎没有影响,网站浏览量极大时,会没有钱升级服务器?不可能吧???)
    2. ViewState可以通过个人经验的提升而尽量减轻.能够熟练采用html+js的人,绝对有能力大量减少viewstate!!!这点是完全可以放心的,比如我个人,作为一个中等水平的程序员,我编写的页面,viewstate就很小.
    3. 对于生成html代码的name和id属性,编写js脚本时稍微小心一些就可以.没什么不可以实现的.

    采用服务器控件会大大加快开发速度,对于公司来说,很可能意味着三个月的项目会在两个月完成,节省的成本是html+jsN倍.我想反问一句,如果您所在的公司,极其/非常/特别/十分在意viewstate,那么为什么不考虑php或者jsp呢?他们没有一点点viewstate在里面,您的公司选择asp.net原因是不是入门容易,开发速度快,劳动力资源丰富呢?如果是这样.那么为什么要放弃viewstate呢?

    2011年11月19日 18:57
  • Html控件和服务器控件各有好处.采用服务器控件时,主要弊端有三个:

    1. 服务器上的ASP.NET解释引擎需要把控件翻译成HTML代码,这样会一定程度上增加服务器的负担.
    2. 新入门的程序员不会合理的取舍ViewState,造成页面中有很多隐藏代码,致使客户端加载网页时,造成不必要的流量.
    3. 服务器控件会生成复杂的id属性和name属性(母版页及复杂控件或控件嵌套时),给js编写带来一定麻烦(并非不能,只是name或者id名字复杂了).

    但是,这三点弊端严格说起来,是一个伪命题,或者说,尽管有这三个弊端,但是也不应该放弃服务器控件.

    1. 服务器控件确实加重了服务器端的负担,但是以目前的CPU能力来说,这点根本不是问题,采用性能更强的服务器和大量复杂维护之间,显然采用性能强服务器具有绝对的性价比(并且,除非浏览量极大的网站,否则服务器控件的负担对于服务器本身来说,几乎没有影响,网站浏览量极大时,会没有钱升级服务器?不可能吧???)
    2. ViewState可以通过个人经验的提升而尽量减轻.能够熟练采用html+js的人,绝对有能力大量减少viewstate!!!这点是完全可以放心的,比如我个人,作为一个中等水平的程序员,我编写的页面,viewstate就很小.
    3. 对于生成html代码的name和id属性,编写js脚本时稍微小心一些就可以.没什么不可以实现的.

    采用服务器控件会大大加快开发速度,对于公司来说,很可能意味着三个月的项目会在两个月完成,节省的成本是html+jsN倍.我想反问一句,如果您所在的公司,极其/非常/特别/十分在意viewstate,那么为什么不考虑php或者jsp呢?他们没有一点点viewstate在里面,您的公司选择asp.net原因是不是入门容易,开发速度快,劳动力资源丰富呢?如果是这样.那么为什么要放弃viewstate呢?


    我也谈两个自己的看法:

    1、能省则省,能小则小,这是一个好的习惯,也是一个好的开始。优雅的代码能让自己身心愉悦,也能让代码工作变成一种创造艺术的行为,只有这样,爱上的是一种艺术,才能孜孜不倦地学习和坚持下去。而工作和报酬,是创造艺术的同时所带来的附属品。

    2、asp.net对于asp来说,区别不仅仅是viewstate。讲究效率的方式应该是使用自己所熟练的方式,讲究效果才使用刚上手但又更先进的技术和方法。

    3、从02年开始学习asp,从09年开始使用asp.net,现在我已经彻底喜欢上asp.net,说一句任性的话,它和它没有可比性。

    希望你懂 :)

     

    2011年11月21日 17:35
  • 不管是服务器控件还是html控件,各有各的好处,而且其内部的机制是一样的,最后都是通过html控件来表单提交,服务端接受请求,找到相应的处理程序来处理。我觉得对性能要求不是很高的时候可以考虑用服务器控件,开发速度比较快而且实现也比较容易。采用html+js的方式相对要复杂些,但这也是相对而言的,如果对html+js的方式比较熟悉了,两者应该相差不大吧
    2012年5月24日 4:08