固执小朋友,js可以实现的 你非得用服务器控件吗?其实你这样说只有1个原因:你js不熟

解决方案 »

  1.   

    javascript与服务器控件并不冲突
      

  2.   

    如果啥都交给服务器处理的话——那服务器得多累呦 ^_^开个玩笑。不过如今是B/S的时代,而不是“哑终端”的时代,其实最典型的区别就是Browser具备一定的运算能力。如果把什么都交给服务器的话,无形中是对Browser计算能力的浪费,这是其一;其二,由于.NET中的ViewState这个东西在默认情况下无处不在(当然有办法干掉他们,不过这里说的是“默认”),尤其是对于GridView这种控件来说更是多到变态!虽然ViewState可以维持控件的状态,使回发之后控件的值仍然不会丢失(HTML TextBox什么的就惨了),但是代价就是这些ViewState需要在回发时一起提交到服务器端,然后在服务器端运算结束后再一起下载回本地。随便找一个带有GridView或者DataGrid这种表格控件的页面,查看下网页的源文件(运行后在页面上右键->查看源文件),通常都会在开头看到这种东西:<input type="hidden" name="__VIEWSTATE" value="dDwxMzM0NTM2MDg2O3Q8cDxsPHVzcjt1cmlnaHQ7U29ydDs+O2w8YjxBQUVBQUFELy8vLy9BUUFBQUFBQUFBQU1BZ0FBQUVCRWJHVndZaTVFUVV3c0lGWmxjbk5wYjI0OU1DNHdMakF1TUN3Z1EzVnNkSFZ5WlQxdVpYVjBjbUZzTENCUWRXSnNhV05MWlhsVWIydGxiajF1ZFd4c0JRRUFBQUFTUkd4bGNHSXVSRUZNTGxWelpYSkVZWFJoQ1FBQUFBbHBiblJWYzJWeVNXUUxjM1J5VlhObGNrNWhiV1VNYzNSeVRHOW5hVzVPWVcxbEMzTjBjbEJoYzNOM2IzSmtEMmx1ZEVSbGNHRnlkRzFsYm5SSlpBZHpkSEpFZFhSNUNITjBja1Z0WVdsc0JuTjBjbFJsYkF4aWVYUmxTWE5CWTNScGRtVUFBUUVCQUFFQkFRQUlDQUlDQUFBQUJRQUFBQVlEQUFBQUQraTJoZWU2cCtldW9lZVFodVdSbUFZRUFBQUFEV0ZrYldsdWFYTjBjbUYwYjNJR0JRQUFBQUZoR3dBQUFBWUdBQUFBQUFrR0FBQUFDUVlBQUFBQkN3PT0+…… />而且随着页面上控件的增加和Gridview的行数的增加,数量呈几何增长。这么多的东西需要传输到服务器再下载回来,对于网络的压力其实也不小。所以某些时候我宁可自己在后台拼HTML字符串再输出,也不愿意简单的进行GridView的DataBind()。
    再有,如今的DHTML时代里前端技术的表现力已经不是服务器端所能比拟的了,所以,个人建议:能用JavaScript的话,还是尽量多用点吧,心疼一下你的网络,还有你的服务器
      

  3.   

    js 的作用绝对不止是来为了验证表单和弹出对话框这么简单的哦
    JS功能很强大的呦