个人见解:只在必要时使用服务器端控件 
ASP.NET中新引入了一种在服务器端运行的被称作Web Server Controls的控件,在代码中,它们经常通过下面的语法被说明:
<asp:TextBox id="txtLastName" size="40" runat="server" /> 
它们有时也被称作ASP控件。服务器端控件是由runat属性指示的,它的值总是“server”。 
通过添加runat属性,一般的HTML控件可以被很方便地转换到服务器端运行,下面是一个简单的例子:
<input type="text" id="txtLastName" size="40" runat="server" /> 
可以通过id属性中指定的名字,我们可以引用程序中的控件,可以通过编程的方式设置属性和获得值,因此,服务器端处理方式有较大的灵活性。 
这种灵活性是有一定代价的。每种服务器端控件都会消耗服务器上的资源。另外,除非控件、网页或应用程序明确地禁止view state,控件的状态是包含在view state的隐藏域中,并在每次回送中都会被传递,这会引起严重的性能下降。 
在这方面的一个很好的例子是,网页上控件表格的应用,如果不需要在代码中引用表格中的元素,则使用无需进行服务器端处理的HTML表格。我们仍然可以在HTML表格单元中放置服务器控件,并在代码中引用服务器控件。如果需要引用任意的表格元素,例如指定的单元,则整个表格必须是服务器控件。 

解决方案 »

  1.   

    我也感觉是这样的,使用aspx页面的时候第一次打开该页速度明显很慢
    尤其是带数据绑定的时候
    但是当第二次打开该页面的时候就会发现打开速度明显变快,甚至比aps的页面还快
    我觉得能是aspx编译机制的问题以上只限于使用工程建立aspx项目的页面,如果是脚本和网页写在一起的aspx页面好像没有效果
      

  2.   

    取数据的时候, 只取你当前需要的, 你那个sampleCustomer.GetAllCustomer();//
      到底取了有多少数据
      

  3.   

    在存储过程中控制需要查询的最小数据集,即当前datagrid当前页要显示的记录
    另外,用sqldatareader性能要强于dataset
      

  4.   

    web.config中设置
        <compilation defaultLanguage="c#" debug="false" />
      

  5.   


    此情况下用SqlDataReader 比较好!
    还有将DropDownList的EnableViewState设为false请在page_load事件中加上
    is(!IsPostBack)
    {
    ...
    }