1

ASP.NET Web アプリケーションを開発しています。私の 1 つがクライアント マシンで非常に遅く実行されます。コンボボックス入力ボックスのようにいくつかの関数といくつかのコントロールを含むGridViewを使用する場合、各コントロールにはいくつかの関数と計算があります。

Please suggest me how can I improve this?

Page on content.

 - GridView
    1. Combobox with jquery datafiltering 
    2. Inputbox with data check function 
    3. More function of grid like update,add, new, delete.

I am also use Viewsate on this page.



<%@ Page Title="" Language="C#" MasterPageFile="~/UI/Healthcare.Master" AutoEventWireup="true" CodeBehind="frmStockIn.aspx.cs" Inherits="Com.Codespecies.Healthcare.UI.Pharmacy.frmStockIn" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder_header" runat="server">




</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

…………………………

            <div class="box_bg" style="height: auto; width: 1020px; border: 0px solid; border-color: #0167AA; margin:5px 0px 0px 0px; float:left;">

                <div style=" min-height:30px; width: 1005px;  padding: 0px 0px 0px 2px;">
                    <div style="min-height: 30px; width:auto; width:300px; float: left; font-weight: bold;">
                        Drugs Details
                    </div>
                    <div style="min-height: 30px; width: 600px; float: left;">
                        <div id="msg" style="height:auto; float:left;">
                            <asp:Label ID="lblMsg" runat="server" Text=" "></asp:Label>
                        </div>
                        <div id="ajaxLoader" style=" display:none; margin:2px 0px 0px 0px; float:left;">
                            <img height="20px" width="20px" src="../../image/ajax-loading/ajax-loading-2.gif" alt="loader" border="0" style=""/> 
                        </div>
                    </div>
                </div>

                <div style=" width: auto; padding: 0px 0px 5px 0px;">

                <asp:GridView ID="gvStockIn" runat="server" AllowPaging="True" Width="1020px"
                        AlternatingRowStyle-HorizontalAlign="Left" AlternatingRowStyle-VerticalAlign="Middle" 
                AutoGenerateColumns="False" BorderStyle="None" DataKeyNames="ID" 
                        Font-Names="Calibri" Font-Size="Small" ForeColor="#333333" GridLines="None" 
                PageSize="100" ShowFooter="True" ShowHeaderWhenEmpty="True" 
                        onrowcancelingedit="gvStockIn_RowCancelingEdit" onrowcommand="gvStockIn_RowCommand" 
                onrowdeleting="gvStockIn_RowDeleting" onrowediting="gvStockIn_RowEditing" 
                        onrowupdating="gvStockIn_RowUpdating" onrowdatabound="gvStockIn_RowDataBound" 
                        AllowSorting="True" TabIndex="5">
                <AlternatingRowStyle BackColor="#DCEEFC" Font-Names="Calibri" HorizontalAlign="Left" VerticalAlign="Middle" />

                    <Columns>

                        <asp:TemplateField HeaderText="SL" SortExpression="ID">
                            <ItemStyle Width="30px" />
                            <HeaderStyle Width="30px" />
                            <FooterStyle Width="30px" />
                            <EditItemTemplate>
                                <asp:Label ID="lblSerialNo" runat="server" Text='<%# Eval("ID") %>' Width="30px"></asp:Label>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:Label ID="lblNewSerialNo" runat="server" Width="30px">NA</asp:Label>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblSerialNo" runat="server" Text='<%# Bind("ID") %>' Width="30px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Drug" >
                            <ItemStyle Width="170px" />
                            <HeaderStyle Width="170px" />
                            <FooterStyle Width="170px" />
                            <EditItemTemplate>
                                <asp:Label ID="lblDrug" runat="server" Text='<%# Bind("DRUG_NAME") %>' Width="170px"></asp:Label>
                                <%--<asp:TextBox ID="txtDrug" runat="server" CssClass="Drug" Text='<%# Eval("DRUG_NAME") %>' Width="100px"></asp:TextBox>--%>
                            </EditItemTemplate>
                            <FooterTemplate>                               
                                <asp:DropDownList CssClass="fire_selected_change_event combobox combobox1" ID="ddlNewDrug" runat="server" onselectedindexchanged="ddlNewDrug_SelectedIndexChanged">
                                </asp:DropDownList>

                                <%--<asp:TextBox ID="txtNewDrug" runat="server" CssClass="Drug" Width="100px"></asp:TextBox>--%>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblDrug" runat="server" Text='<%# Bind("DRUG_NAME") %>' Width="170px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Presentation">
                            <ItemStyle Width="130px" />
                            <HeaderStyle Width="130px" />
                            <FooterStyle Width="130px" CssClass="drug_list1"/>
                            <EditItemTemplate>
                                <asp:Label ID="lblPresentation" runat="server" Text='<%# Bind("PRESENTATION_NAME") %>' Width="130px"></asp:Label>
                                <%--<asp:TextBox ID="txtPresentation" runat="server" CssClass="Presentation" Text='<%# Eval("PRESENTATION_NAME") %>' Width="110px"></asp:TextBox>--%>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:DropDownList CssClass="fire_selected_change_event combobox combobox1" ID="ddlNewPresentation" runat="server" AutoPostBack="True" onselectedindexchanged="ddlNewPresentation_SelectedIndexChanged">
                                </asp:DropDownList>
                                <%--<asp:TextBox ID="txtNewPresentation" runat="server" CssClass="Presentation" Width="110px"></asp:TextBox>--%>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblPresentation" runat="server" Text='<%# Bind("PRESENTATION_NAME") %>' Width="130px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Unit Strength">
                            <ItemStyle Width="130px" />
                            <HeaderStyle Width="130px" />
                            <FooterStyle Width="130px" CssClass="drug_list1"/>
                            <EditItemTemplate>
                                <asp:Label ID="lblUnitStrength" runat="server" Text='<%# Bind("DRUG_UNIT_STRENGTH") %>' Width="110px"></asp:Label>
                                <%--<asp:TextBox ID="txtUnitStrength" runat="server" CssClass="UnitStrength" Text='<%# Eval("DRUG_UNIT_STRENGTH") %>' Width="110px"></asp:TextBox>--%>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:DropDownList CssClass="fire_selected_change_event combobox combobox1" ID="ddlNewUnitStrength" runat="server" AutoPostBack="True" onselectedindexchanged="ddlNewUnitStrength_SelectedIndexChanged">
                                </asp:DropDownList>
                                <%--<asp:TextBox ID="txtNewUnitStrength" runat="server" CssClass="UnitStrength" Width="110px"></asp:TextBox>--%>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblUnitStrength" runat="server" Text='<%# Bind("DRUG_UNIT_STRENGTH") %>' Width="110px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Mfg Date">
                            <ItemStyle Width="65px" />
                            <HeaderStyle Width="65px" />
                            <FooterStyle Width="65px" />
                            <EditItemTemplate>
                                <asp:TextBox ID="txtManufacturerDate" runat="server" CssClass="date_property" Text='<%# Eval("DRUG_MANUFACTURER_DATE", "{0:dd/MM/yyyy}") %>' Height="25px" Width="65px"></asp:TextBox>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="txtNewManufacturerDate" runat="server" CssClass="date_property" Height="25px" Width="65px"></asp:TextBox>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblManufacturerDate" runat="server" Text='<%# Bind("DRUG_MANUFACTURER_DATE", "{0:dd/MM/yyyy}") %>' Height="25px" Width="65px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Exp. Date">
                            <ItemStyle Width="65px" />
                            <HeaderStyle Width="65px" />
                            <FooterStyle Width="65px" />
                            <EditItemTemplate>
                                <asp:TextBox ID="txtExpireDate" runat="server" CssClass="date_property" Text='<%# Eval("DRUG_EXPIRE_DATE", "{0:dd/MM/yyyy}") %>' Height="25px" Width="65px"></asp:TextBox>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="txtNewExpireDate" runat="server" CssClass="date_property" Height="25px"  Width="65px"></asp:TextBox>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblExpireDate" runat="server" Text='<%# Bind("DRUG_EXPIRE_DATE", "{0:dd/MM/yyyy}") %>' Height="25px" Width="65px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Qty">
                            <ItemStyle Width="40px" HorizontalAlign="Right" />
                            <HeaderStyle Width="40px" HorizontalAlign="Right" />
                            <FooterStyle Width="40px" HorizontalAlign="Right" />
                            <EditItemTemplate>
                                <asp:TextBox ID="txtQuantity" runat="server" CssClass="check_decimal Quantity" Text='<%# Eval("QUANTITY") %>' Height="25px" Width="40px"></asp:TextBox>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="txtNewQuantity" runat="server" CssClass="check_decimal Quantity" Height="25px" Width="40px"></asp:TextBox>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblQuantity" runat="server" Text='<%# Bind("QUANTITY") %>' Height="25px" Width="40px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Cost Price">
                            <ItemStyle Width="70px" HorizontalAlign="Right"/>
                            <HeaderStyle Width="70px" HorizontalAlign="Right"/>
                            <FooterStyle Width="70px" HorizontalAlign="Right"/>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtCostPrice" runat="server" CssClass="check_decimal CostPrice" Text='<%# Eval("COST_PRICE") %>' ontextchanged="txtCostPrice_TextChanged" AutoPostBack="true" Height="25px" Width="60px"></asp:TextBox>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="txtNewCostPrice" runat="server" CssClass="check_decimal CostPrice" ontextchanged="txtNewCostPrice_TextChanged" AutoPostBack="true" Height="25px" Width="60px"></asp:TextBox>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblCostPrice" runat="server" Text='<%# Bind("COST_PRICE") %>' Height="25px" Width="60px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Sale Price">
                            <ItemStyle Width="70px" HorizontalAlign="Right"/>
                            <HeaderStyle Width="70px" HorizontalAlign="Right"/>
                            <FooterStyle Width="70px" HorizontalAlign="Right"/>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtSellPrice" runat="server" CssClass="check_decimal SellPrice" Text='<%# Eval("SELL_PRICE") %>' Height="25px" Width="60px"></asp:TextBox>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="txtNewSellPrice" runat="server" CssClass="check_decimal SellPrice" Height="25px" Width="60px"></asp:TextBox>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblSellPrice" runat="server" Text='<%# Bind("SELL_PRICE") %>' Height="25px" Width="60px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Discount">
                            <ItemStyle Width="60px" HorizontalAlign="Right"/>
                            <HeaderStyle Width="60px" HorizontalAlign="Right"/>
                            <FooterStyle Width="60px" HorizontalAlign="Right"/>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtDiscount" runat="server" CssClass="check_decimal percentage" Text='<%# Eval("DISCOUNT") %>' Height="25px" Width="60px"></asp:TextBox>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="txtNewDiscount" runat="server" CssClass="check_decimal percentage" Height="25px" Width="60px"></asp:TextBox>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblDiscount" runat="server" Text='<%# Bind("DISCOUNT") %>' Height="25px" Width="60px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Sub Total">
                            <ItemStyle Width="70px" HorizontalAlign="Right"/>
                            <HeaderStyle Width="70px" HorizontalAlign="Right"/>
                            <FooterStyle Width="70px" HorizontalAlign="Right"/>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtSubTotal" runat="server" CssClass="check_decimal" Text='<%# Eval("SUB_TOTAL_AMOUNT") %>' ontextchanged="txtSubTotal_TextChanged" AutoPostBack="true" Height="25px" Width="70px"></asp:TextBox>
                                <%--<asp:Label ID="lblSubTotal" runat="server" Text='<%# Eval("SUB_TOTAL_AMOUNT") %>' Height="25px" Width="80px"></asp:Label>--%>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="txtNewSubTotal" runat="server" CssClass="check_decimal" Text='' ontextchanged="txtNewSubTotal_TextChanged" AutoPostBack="true" Height="25px" Width="70px"></asp:TextBox>
                                <%--<asp:Label ID="lblSubTotal" runat="server" Text='' Height="25px" Width="80px"></asp:Label>--%>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblSubTotal" runat="server" Text='<%# Bind("SUB_TOTAL_AMOUNT") %>' Height="25px" Width="70px"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Action" ShowHeader="False">
                            <ItemStyle Width="100px" HorizontalAlign="Center"/>
                            <HeaderStyle Width="100px" HorizontalAlign="Center"/>
                            <FooterStyle Width="100px" HorizontalAlign="Center"/>
                            <EditItemTemplate>
                                 <asp:ImageButton ID="lnkUpdate"    ToolTip="Update"  runat="server" OnClientClick="load_ajax_drugs_details();" ImageUrl="../../image/update.png" Height="25px" Width="25px" CausesValidation="False"  CommandArgument="" CommandName="Update" ></asp:ImageButton>
                                <asp:ImageButton ID="lnkCancel"    ToolTip="Cancel"  runat="server" OnClientClick="load_ajax_drugs_details();" ImageUrl="../../image/cancel.png" Height="25px" Width="25px" CausesValidation="False"  CommandArgument="" CommandName="Cancel" ></asp:ImageButton>
                            <%--    <asp:LinkButton ID="lnkUpdate" runat="server"   CausesValidation="False" OnClientClick="load_ajax_drugs_details();" CommandName="Update" Text="Update"></asp:LinkButton>
                                <asp:LinkButton ID="lnkCancel" runat="server"  CausesValidation="False" OnClientClick="load_ajax_drugs_details();" CommandName="Cancel" Text="Cancel"></asp:LinkButton>--%>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:ImageButton ID="lnkNew"    ToolTip="New"  runat="server" OnClientClick="load_ajax_drugs_details();" ImageUrl="../../image/add.png" Height="25px" Width="25px" CausesValidation="False"  CommandArgument="" CommandName="New" ></asp:ImageButton>
                                <asp:ImageButton ID="lnkRefresh"    ToolTip="Refresh"  runat="server" OnClientClick="load_ajax_drugs_details();" ImageUrl="../../image/refresh.png" Height="25px" Width="25px" CausesValidation="False"  CommandArgument="" CommandName="Refresh" ></asp:ImageButton>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:ImageButton ID="lnkEdit"    ToolTip="Edit"  runat="server" OnClientClick="load_ajax_drugs_details();" ImageUrl="../../image/edit.png" Height="25px" Width="25px" CausesValidation="False"  CommandArgument="" CommandName="Edit" ></asp:ImageButton>
                                <%--<asp:LinkButton ID="lnkEdit" ToolTip="Edit"  runat="server" OnClientClick="load_ajax_drugs_details();" ImageUrl="../../image/edit.png" Height="10px" Width="15px" CausesValidation="False"  CommandArgument="" CommandName="Edit" Text="Edit"></asp:LinkButton>--%>
                            <asp:ImageButton ID="lnkDelete"    ToolTip="Delete"  runat="server" OnClientClick="load_ajax_drugs_details();" ImageUrl="../../image/delete.png" Height="25px" Width="25px" CausesValidation="False"  CommandArgument="" CommandName="Delete" ></asp:ImageButton>
                            </ItemTemplate>
                        </asp:TemplateField>                   

                    </Columns>

                <HeaderStyle BackColor="#507CD1" ForeColor="White" HorizontalAlign="Left" VerticalAlign="Middle" />
                <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Right" VerticalAlign="Middle" />
                <RowStyle Font-Names="Calibri" /> 
                <FooterStyle CssClass="drug_list"></FooterStyle>
                </asp:GridView> 

                </div>

               .....
               .....

          </ContentTemplate>
          </asp:UpdatePanel>
        </div>


</asp:Content>



   }
4

1 に答える 1

2

この問題には多くの理由があります。私があなたの質問から理解している限り、私はあなたが見る必要があるいくつかの場所を提案します.

1)グリッドビューを主に表示するために、データベースから取得するデータの量を確認します。

2)上記のコントロールをグリッドビューに追加しても、パフォーマンスが低下することはありません。しかし、あなたが話している計算が原因である可能性があります。コードを詳しく見て、長時間実行されているループがあるかどうかを確認してください。そこの。

3)最初の2つがプロファイリングの作成に役立たない場合。問題については、 antパフォーマンスプロファイラーの試用版が必要です。プロファイルをインストールした後、実行に時間がかかっているデータベース呼び出しまたは .net 関数を見つけてデバッグします。

于 2012-11-30T11:24:54.143 に答える