我想在后台的cs文件中操作html元素,一个最简单的办法就是为div等加上runat=server属性,但是想知道这样做有什么弊端吗?如题:HTML

解决方案 »

  1.   

    当然有,这会在viewstate里面增加代码,用来记录服务端控件的信息。
      

  2.   

    那如果要在后台的cs文件中操作html元素,有没有更好的办法呢?
      

  3.   

    更好的办法就是不在后台操作,改用前台ajax操作
      

  4.   


    asp.net有一个常识,所有的控件都有一个 EnableViewState 属性可以设置这个开关。
      

  5.   

    影响页面刷新效率的原因,主要是asp.net基于20年前直到2006年以前的那种所谓web应用程序的理念,即一遍遍地下载html来刷新页面。你可以看到各种RIA技术的web应用,不管是使用javascript还是插件,有哪一个会不断刷新页面?刷新页面就是慢,即使使用UpdatePanel来掩盖,仍然慢。因此不管asp.net如何弄出噱头,只要它不把服务器控件改为纯粹在浏览器端才渲染的(就像typescript可以做的插件那样),那么就是影响用户体验。当然,作为一种原型工具,asp.net是很好的。许多自称“了解ajax”的人做出来的web页面,连个丰富一点的订单编辑画面都做不出来,做不出企业级的交互式应用程序,只会抄几句ajax代码,那也是不行的。而asp.net则具有高效率的开发速度,很适合做为非常初等的web应用程序的原型工具,先给用户一个基本的(虽然刷新速度奇慢的)web应用程序的出来。