首页上,6个DATAGRID,从数据库里只读取数据后绑定,2个DATALIST,从数据库里读取数据和图片(数据库里存放了缩略后的图片),并绑定。另外,在程序里,我使用了强类型数据集(XSD)。究竟什么原因导致速度这么慢。请高手指教,并提供解决方法??

解决方案 »

  1.   

    我用的是强类型的数据集,用dataadapter.fill(datatable dt),读出产品记录,再绑定到DATALIST及DATAGRID里
      

  2.   

    1 关键的是,看看你的select语句有没有问题,我曾经看到很多的select *...
    2 尽量多用cache,可能会有改善。
    3 看看你的服务器硬件,没问题的话重装IIS
    4 把首页代码贴到csdn问
    5 把首页代码贴到asp.net问
      

  3.   

    这是首页上的绑定代码
    private void Binds()
    { DataSetProduct.HalfProductClassDataTable dtHalfProduct=hps.GetTop4HalfProductClasss();
    this.dgHalfProduct.DataSource=dtHalfProduct;
    this.dgHalfProduct.DataBind(); DataSetProduct.HalfProductClassDataTable dtHalfProduct1=hps.Get58HalfProductClasss();
    this.dgHalfProduct1.DataSource=dtHalfProduct1;
    this.dgHalfProduct1.DataBind(); DataSetProduct.ProductClassDataTable dtProduct=ps.GetTop4ProductClasss();
    this.dgProduct.DataSource=dtProduct;
    this.dgProduct.DataBind();

    DataSetProduct.ProductClassDataTable dtProduct1=ps.Get58ProductClasss();
    this.dgProduct1.DataSource=dtProduct1;
    this.dgProduct1.DataBind(); DataSetProduct.ProductDataTable dtProductBest=ps.GetBestProduct();
    this.dl1.DataSource=dtProductBest;
    this.dl1.DataBind();

    DataSetProduct.ProductDataTable dtHotProduct=ps.GetHotProduct();
    this.dlHotProduct.DataSource=dtHotProduct;
    this.dlHotProduct.DataBind();
    DataSetProduct.ProductClassDataTable dtHotProductClass=ps.GetHotProductClass();
    this.dgHot.DataSource=dtHotProductClass;
    this.dgHot.DataBind();
    DataSetProduct.HalfProductClassDataTable dtHotHalfProductClass=hps.GetHotHalfProductClass();
    this.dgHot1.DataSource=dtHotHalfProductClass;
    this.dgHot1.DataBind();
      

  4.   

    以下是HTML
    <%@ Register TagPrefix="ebusiness" TagName="bottom" Src="bottom.ascx"%>
    <%@ Page language="c#" Codebehind="index.aspx.cs" AutoEventWireup="false" Inherits="WebClient.index" %>
    <%@ Register TagPrefix="ebusiness" TagName="top" Src="top.ascx"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>index</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    <style type="text/css">BODY { MARGIN: 0px; BACKGROUND-COLOR: #ffffff }
    .style1 { FONT-SIZE: 12px; COLOR: #666666 }
    .style3 { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #666666 }
    A { COLOR: #223399; TEXT-DECORATION: none }
    A:visited { COLOR: #223399; TEXT-DECORATION: none }
    A:hover { COLOR: #ff5555; TEXT-DECORATION: none }
    </style>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <ebusiness:top id="top" runat="server"></ebusiness:top>
    <table height="422" cellSpacing="0" cellPadding="0" border="0">
    <tr>
    <td>
    <table height="422" cellSpacing="0" cellPadding="0" width="785" border="0">
    <tr>
    <td vAlign="top" width="203" background="images/l_bg.jpg">
    <table cellSpacing="0" cellPadding="0" width="98%" border="0">
    <tr>
    <td background="images/l_1_1.jpg" height="101"><div align="center"><asp:label id="lblName" runat="server" Font-Size="Smaller">
    <font size="2">帐号</font></asp:label>:
    <asp:textbox id="tbAccount" runat="server" Width="105px"></asp:textbox><asp:label id="lblName1" runat="server" Font-Size="Smaller">Label</asp:label><br>
    <br>
    <asp:label id="lblPassword" runat="server" Font-Size="Smaller">
    <font size="2">密码</font></asp:label>:
    <asp:textbox id="tbPassword" runat="server" Width="105px" TextMode="Password"></asp:textbox><asp:label id="lblUserType" runat="server" Font-Size="Smaller">lblab</asp:label><br>
    <br>
    <asp:imagebutton id="imgBtnLogin" runat="server" ImageUrl="images/l_1_01.jpg" width="55" height="20"></asp:imagebutton><asp:imagebutton id="imgBtnRegister" runat="server" ImageUrl="images/l_1_02.jpg" width="55" height="20"></asp:imagebutton></div>
    </td>
    </tr>
    <tr>
    <td align="center" background="images/l_2.jpg" height="101">
    <table cellSpacing="0" cellPadding="0" width="75%" border="0">
    <tr>
    <td><font size="2">搜索</font></td>
    </tr>
    <tr>
    <td><font size="2">关键字:</font>
    <asp:textbox id="tbKey" Width="88px" Runat="server"></asp:textbox>&nbsp;</td>
    </tr>
    <tr>
    <td><font size="2">类&nbsp;&nbsp;&nbsp;&nbsp;别:</font>&nbsp;<asp:dropdownlist id="ddlClass" runat="server">
    <asp:ListItem Value="1">成品系列</asp:ListItem>
    <asp:ListItem Value="0">半成品系列</asp:ListItem>
    </asp:dropdownlist></td>
    </tr>
    <tr>
    <td align="right"><asp:imagebutton id="imgBtnSearch" runat="server" Width="24px" ImageUrl="images/go.GIF" height="18"></asp:imagebutton></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <br>
    <table cellSpacing="0" cellPadding="0" width="97%" border="0">
    <tr>
    <td style="WIDTH: 181px" colSpan="2"><IMG height="24" src="images/l_3_1.jpg" width="198"></td>
    </tr>
    <tr height="10">
    <td style="WIDTH: 181px" colSpan="2" height="10"></td>
    </tr>
    <tr>
    <td style="WIDTH: 114px" vAlign="top" align="right" background="images/l_3_hyxbg.jpg"
    height="70"><asp:datagrid id="dgProduct" Width="86px" Runat="server" ItemStyle-ForeColor="#666666" ItemStyle-Font-Size="13px"
    CellPadding="0" ShowHeader="False" DataKeyField="Id" AutoGenerateColumns="False" BorderWidth="0px" BorderStyle="None">
    <ItemStyle Font-Size="10px" ForeColor="#666666"></ItemStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemStyle HorizontalAlign="Right"></ItemStyle>
    <ItemTemplate>
    <asp:Image ImageUrl="images/left_dd.gif" ID="image1" Runat="server" Width="18" Height="14"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <ItemStyle Font-Size="13px" HorizontalAlign="Right"></ItemStyle>
    <ItemTemplate>
    <ASP:LINKBUTTON ID="PRODUCT" Runat="server" Text='<%#DataBinder.Eval(Container,"DataItem.ClassName")%>' CommandName="select" CommandArgument='<%#DataBinder.Eval(Container,"DataItem.Id")%>'>
    </ASP:LINKBUTTON>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid></td>
    <td style="WIDTH: 93px" vAlign="top" align="left" background="images/l_3_hyxbg.jpg"
    height="70"><asp:datagrid id="dgProduct1" Width="105px" Runat="server" ItemStyle-ForeColor="#666666" ItemStyle-Font-Size="13px"
    CellPadding="0" ShowHeader="False" DataKeyField="Id" AutoGenerateColumns="False" BorderWidth="0px" BorderStyle="None">
    <ItemStyle Font-Size="10px" ForeColor="#666666"></ItemStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemStyle HorizontalAlign="Left"></ItemStyle>
    <ItemTemplate>
    <asp:Image ImageUrl="images/left_dd.gif" ID="Image5" Runat="server" Width="18" Height="14"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <ItemStyle Font-Size="13px" HorizontalAlign="Left"></ItemStyle>
    <ItemTemplate>
    <ASP:LINKBUTTON ID="Linkbutton1" Runat="server" Text='<%#DataBinder.Eval(Container,"DataItem.ClassName")%>' CommandName="select" CommandArgument='<%#DataBinder.Eval(Container,"DataItem.Id")%>'>
    </ASP:LINKBUTTON>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid></td>
    </tr>
    <tr>
    <td style="WIDTH: 181px" colSpan="2"><asp:imagebutton id="imgBtnMoreProduct" runat="server" ImageUrl="images/l_3_m.jpg" width="198" height="35"></asp:imagebutton></td>
    </tr>
    </table>
    <br>
      

  5.   

    <table cellSpacing="0" cellPadding="0" width="97%" border="0">
    <tr>
    <td colSpan="2"><IMG height="24" src="images/l_4_1.jpg" width="198"></td>
    </tr>
    <tr height="10">
    <td colSpan="2" height="10"></td>
    </tr>
    <tr>
    <td style="WIDTH: 114px" vAlign="top" align="right" background="images/l_4_hyxbg.jpg"
    height="70"><asp:datagrid id="dgHalfProduct" Width="86px" Runat="server" ItemStyle-ForeColor="#666666" ItemStyle-Font-Size="13px"
    CellPadding="0" ShowHeader="False" DataKeyField="Id" AutoGenerateColumns="False" BorderWidth="0px" BorderStyle="None">
    <ItemStyle Font-Size="10px" ForeColor="#666666"></ItemStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemStyle HorizontalAlign="Right"></ItemStyle>
    <ItemTemplate>
    <asp:Image ImageUrl="images/left_dd.gif" ID="Image2" Runat="server" Width="18" Height="14"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <ItemStyle Font-Size="13px" HorizontalAlign="Right"></ItemStyle>
    <ItemTemplate>
    <ASP:LINKBUTTON ID="halftproduct" Runat="server" Text='<%#DataBinder.Eval(Container,"DataItem.ClassName")%>' CommandName="select" CommandArgument='<%#DataBinder.Eval(Container,"DataItem.Id")%>'>
    </ASP:LINKBUTTON>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid></td>
    <td style="WIDTH: 93px" vAlign="top" align="left" background="images/l_4_hyxbg.jpg"
    height="70"><asp:datagrid id="dgHalfProduct1" Width="105px" Runat="server" ItemStyle-ForeColor="#666666" ItemStyle-Font-Size="13px"
    CellPadding="0" ShowHeader="False" DataKeyField="Id" AutoGenerateColumns="False" BorderWidth="0px" BorderStyle="None">
    <ItemStyle Font-Size="10px" ForeColor="#666666"></ItemStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemStyle HorizontalAlign="Left"></ItemStyle>
    <ItemTemplate>
    <asp:Image ImageUrl="images/left_dd.gif" ID="Image6" Runat="server" Width="18" Height="14"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <ItemStyle Font-Size="13px" HorizontalAlign="Left"></ItemStyle>
    <ItemTemplate>
    <ASP:LINKBUTTON ID="Linkbutton2" Runat="server" Text='<%#DataBinder.Eval(Container,"DataItem.ClassName")%>' CommandName="select" CommandArgument='<%#DataBinder.Eval(Container,"DataItem.Id")%>'>
    </ASP:LINKBUTTON>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid></td>
    </tr>
    <tr>
    <td colSpan="2"><asp:imagebutton id="imgBtnMoreHalfProduct" runat="server" ImageUrl="images/l_4_m.jpg" width="198"
    height="35"></asp:imagebutton></td>
    </tr>
    </table>
    <br>
    </td>
    <td vAlign="top" align="left" width="582">
    <table cellSpacing="0" cellPadding="0" width="584" border="0">
    <TBODY>
    <tr>
    <td align="center" background="images/e_1_1bg.jpg" colSpan="2"><IMG height="44" src="images/e_1_1.jpg" width="95"></td>
    <td width="229"><IMG height="44" src="images/e_1_21.jpg" width="229"></td>
    </tr>
    <tr>
    <td style="WIDTH: 41px" vAlign="top" align="left" width="41" background="images/e_1bg2.jpg"><IMG height="129" src="images/e_1_11.jpg" width="40"></td>
    <td><asp:datalist id="dl1" Width="100%" Runat="server">
    <ItemTemplate>
    <table id="tbl1" cellSpacing="0" cellPadding="0" width="100%" border="0">
    <tr>
    <TD width="121" background="images/e_1bg2.jpg" height="145"><table id="tbl2" cellSpacing="0" cellPadding="0" width="100%" border="0">
    <tr>
    <td colspan="2"><SPAN class="style3">&nbsp;&nbsp;<%#DataBinder.Eval(Container.DataItem,"ProductName")%></SPAN></td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td align="center"><SPAN class="style1">&nbsp;&nbsp;编号:</SPAN></td>
    <td align="left"><SPAN class="style1">&nbsp;<%#DataBinder.Eval(Container.DataItem,"ProductNumber")%></SPAN></td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td align="center"><SPAN class="style1">&nbsp;&nbsp;型号:</SPAN></td>
    <td align="left"><SPAN class="style1">&nbsp;<%#DataBinder.Eval(Container.DataItem,"ProductType")%></SPAN></td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td colspan="2"><SPAN class="style1"><IMG height="12" src="images/e_dd.gif" width="13"><a href='Detail.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>&tag=1' target=blank>[查看详细资料]</a>
    </SPAN>
    </td>
    </tr>
    </table>
    </TD>
    <TD vAlign="middle" align="center" width="193" background="images/e_1bg2.jpg"><FONT face="宋体">
    <a href='Detail.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>&tag=1' target=blank>
    <asp:Image id="Image3" runat="server" ImageUrl='<%#"admin/ShowPicture/ShowThumbPhoto.aspx?id="+DataBinder.Eval(Container.DataItem,"ID")%>' width=156 height=135>
    </asp:Image></a></FONT>
    </TD>
    </tr>
    </table>
    </ItemTemplate>
    </asp:datalist></td>
    <td vAlign="top" align="right" background="images/e_1_2.jpg" height="150">
    <table height="126" cellSpacing="0" cellPadding="0" width="151" border="0">
    <tr>
    <td align="left" height="16">&nbsp;</td>
    </tr>
    <tr>
    <td><asp:datagrid id="dgHot" Width="167px" Runat="server" CellPadding="0" ShowHeader="False" DataKeyField="id"
    AutoGenerateColumns="False" BorderWidth="0px" BorderStyle="None">
    <Columns>
    <asp:TemplateColumn>
    <ItemStyle HorizontalAlign="Right"></ItemStyle>
    <ItemTemplate>
    <asp:Image ImageUrl="images/h_dd.gif" Width="13" Height="12" ID="img12" Runat="server"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="ClassName" ReadOnly="True">
    <ItemStyle Font-Size="12px" HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:TemplateColumn>
    <ItemStyle Font-Size="12px" ForeColor="#666666"></ItemStyle>
    <ItemTemplate>
    <asp:LinkButton ID="lbtn1" runat="server" Text="[查看更多]" CommandName="Select" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"id")%>'>
    </asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid></td>
    </tr>
    <tr>
      

  6.   

    还有刚才发不了了
    <td><asp:datagrid id="dgHot1" Width="167px" Runat="server" CellPadding="0" ShowHeader="False" DataKeyField="id"
    AutoGenerateColumns="False" BorderWidth="0px" BorderStyle="None">
    <Columns>
    <asp:TemplateColumn>
    <ItemStyle HorizontalAlign="Right"></ItemStyle>
    <ItemTemplate>
    <asp:Image ImageUrl="images/h_dd.gif" Width="13" Height="12" ID="Image7" Runat="server"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="ClassName" ReadOnly="True">
    <ItemStyle Font-Size="Smaller" HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:TemplateColumn>
    <ItemStyle Font-Size="12px" ForeColor="#666666"></ItemStyle>
    <ItemTemplate>
    <asp:LinkButton ID="Linkbutton3" runat="server" Text="[查看更多]" CommandName="Select" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"id")%>'>
    </asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid></td>
    </tr>
    </table>
    </td>
    </tr>
    </TBODY>
    </table>
    <table cellSpacing="0" cellPadding="0" width="100%" border="0">
    <tr>
    <td vAlign="top" align="left" height="105"><asp:datalist id="dlHotProduct" Runat="server" RepeatColumns="2" RepeatDirection="Horizontal">
    <ItemTemplate>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td height="9" colspan="2" background="images/e_2_1bg.jpg" img src="images/e_2_1bg.jpg"></td>
    </tr>
    <tr>
    <td width="135" height="150" align="center" valign="middle" background="images/e_pic.jpg">
    <a href='Detail.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>&tag=1' target=blank>
    <asp:Image ID=image123 ImageUrl='<%#"admin/ShowPicture/ShowThumbPhoto.aspx?id="+DataBinder.Eval(Container.DataItem,"Id")%>' Runat="server" Width=134 Height=150>
    </asp:Image></a></td>
    <td width="157" height="152" background="images/e_2_2hyxbg.jpg" valign="middle">
    <table id="tbl123" width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td colspan="2"><SPAN class="style3">&nbsp;&nbsp;<%#DataBinder.Eval(Container.DataItem,"ProductName")%></SPAN></td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td align="center"><SPAN class="style1">&nbsp;&nbsp;编号:</SPAN></td>
    <td align="left"><SPAN class="style1">&nbsp;<%#DataBinder.Eval(Container.DataItem,"ProductNumber")%></SPAN></td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td align="center"><SPAN class="style1">&nbsp;&nbsp;型号:</SPAN></td>
    <td align="left"><SPAN class="style1">&nbsp;<%#DataBinder.Eval(Container.DataItem,"ProductType")%></SPAN></td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td colspan="2"><SPAN class="style1"><IMG height="12" src="images/e_dd.gif" width="13"><a href='Detail.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>&tag=1' target=blank>[查看详细资料]</a></SPAN>
    </td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </ItemTemplate>
    </asp:datalist></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <ebusiness:bottom id="bot" runat="server"></ebusiness:bottom></td>
    <td align="center">
    <table cellSpacing="0" cellPadding="0" align="center" border="0">
    <tr>
    <td align="center"><asp:image id="Image4" runat="server" ImageUrl="images/pop.jpg" width="111" Height="375"></asp:image></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <p><FONT face="宋体"></FONT>&nbsp;</p>
    </form>
    </body>
    </HTML>
      

  7.   

    老大,肯定是你的数据处理不对,说实话,你的代码让人看得太痛苦,
    你想,同时抗这么多的dataset,还能跑,不错了
      

  8.   

    I think u have to recode it:)
      

  9.   

    xmjj(猪头)大哥,那我在哪方面修改一下??我是第一次做网站。另外,我用了强类型数据集(XSD),这会影响速度吗?
      

  10.   

    强类型数据不会影响速度。
    重新设计一下你的dataset和页面呈现之间的关系。
    不一定每个绑定都要一个dataset。
    看看相关的参考书和例子,
    别着急,大家都是这样过来的,你已经做的不错了:)
      

  11.   

    偶下班了,csdn的规矩:日后再说:)
    祝好运!