把所有的CSS文件内的代码写成一行,去掉任何空格和换行,越少换行越好
把所有的js代码写成一行,去掉任何空格和换行,越少换行越好
把所有gridview datalist liatbox 换成repeater  一行显示多列可以用li 和浮动设置,这样就能减少一大堆table标签
不要link任何文件,直接写在网页上。
背景不要用一张大图片,可以用切片堆砌起来。
布局尽量用div,不要用table,显示数据可以用ul li 或table
尽量不要用AJAX和iframe 用用户控件代替,有利于搜索引擎收录。
不要为了用一个document 而引用jquery。
但一条足够烂的SQL语句可以使以上优化白费。不要把所有数据都select出来然后再分页。
不需要频繁取数的就用datable  不要用dataset。
不要什么数据都往dataset里面塞,会把session“挤掉”。。
请大家补充

解决方案 »

  1.   

    光是显示数据,repeater足够了
      

  2.   

    受教了,不过这两条不太明白,能不能解释一下,把所有的CSS文件内的代码写成一行,去掉任何空格和换行,越少换行越好 
    把所有的js代码写成一行,去掉任何空格和换行,越少换行越好 
      

  3.   

    减少文件大小,加快页面下载,并利于机器阅读,
    问下lZ为什么不用link呢?
    写在页面中不好维护,就算是针对该页的的样式也不利于搜索(http://blog.csdn.net/diehuan2008/archive/2009/03/04/3956366.aspx)啊?
      

  4.   

    不要把所有数据都select出来然后再分页。
    案例:用Gridview的自带分页,加入了
    <PagerTemplate>
                <table width="100%" bgcolor="#eff3fb" style="color:#0066cc; font-size:14px">
                    <tr>
                        <td align="right">
                            第<asp:Label ID="lbl_PageIndex" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />页
                            / 共<asp:Label ID="lbl_PageCount" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageCount %>' />页
                            <asp:LinkButton ID="btn_First" runat="server" CausesValidation="False" CommandArgument="First"
                                CommandName="Page" Text="首页" Font-Size="14px" />
                            <asp:LinkButton ID="btn_Prev" runat="server" CausesValidation="False" CommandArgument="Prev"
                                CommandName="Page" Text="上一页" Font-Size="14px" />
                            <asp:LinkButton ID="btn_Next" Font-Size="14px" runat="server" CausesValidation="False" CommandArgument="Next"
                                CommandName="Page" Text="下一页" />
                            <asp:LinkButton ID="btn_Last" runat="server" CausesValidation="False" CommandArgument="Last"
                                CommandName="Page" Text="尾页" Font-Size="14px" />
                            <asp:TextBox ID="txt_NewPageIndex" runat="server" Width="20px" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />
                            <asp:LinkButton ID="btn_Go" runat="server" CausesValidation="False" CommandArgument="-1"
                                CommandName="Page" Text="GO" Font-Size="14px" />
                        </td>
                    </tr>
                </table>
            </PagerTemplate>
    ,然后使用objectdatasource返回所有记录,由Gridview自己去进行分页。
    有人说这样一来,程序在服务器端运行,虽然查询的全部,但是服务器配置比较高,查询起来就不费劲。关键是看和客户端交互的数据流量,因为Gridview已经在服务器端把数据筛选好(分页),所有和客户端交互的就只有显示的当前页的数据量,这样和用分页sql语句只返回所需要的行执行的效率一样。
    对于这种观点,有什么意见?
      

  5.   

    objectdatasource是把所有数据加载到内存的,客户端没关系,服务器端的内存就要消耗不少
      

  6.   


    使用ObjectDatasource对大数据量进行分页,可以参考Mitchell的入门文章:
    http://hi.baidu.com/talent_xiaoqiang/blog/item/3127be8bac99387d9e2fb41c.html不知道ObjectDatasource如何返回一页数据,是孤陋寡闻的。