ajaxToolkit:AutoCompleteExtender 效率问题
时间:2011-12-04
来源:互联网
各位好,我现在在开发项目的时候,在gridview中用到了多个ajaxToolkit:AutoCompleteExtender控件,但是使用之后,计算合计值等操作会变得很卡,用HttpWatch追踪后发现好像每次计算合计值都会触发的回发,但是我还有使用UpdatePanel控件,代码如下,不知道各位有没有提高效率的方法
<asp:GridView ID="gvList" runat="server" AutoGenerateColumns="False" Width="98%" >
<Columns>
<asp:TemplateField HeaderText="品名">
<HeaderTemplate>
<asp:LinkButton ID="LinkButton2" Style="color: White;" OnClientClick="GetItem();return false;"
runat="server">品名</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:HiddenField ID="hidomaterialname" runat="server" Value='<%#Bind("MaterialName") %>' />
<asp:TextBox ID="txtmaterialname" runat="server" Text='<%#Bind("MaterialName") %>'
AutoPostBack="true" OnTextChanged="txtmaterialname_TextChanged" Width="140px"></asp:TextBox>
<%-- <ajaxToolkit:AutoCompleteExtender runat="server" ID="autoComplete3" TargetControlID="txtmaterialname"
ServicePath="AutoCatchInformation.asmx" ServiceMethod="GetCompletionListItemName"
MinimumPrefixLength="1" CompletionInterval="1000" EnableCaching="true" CompletionSetCount="10"
DelimiterCharacters=";, :">
</ajaxToolkit:AutoCompleteExtender>--%>
</ItemTemplate>
<FooterTemplate>
<br />
</FooterTemplate>
<FooterStyle Width="100px" HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="订单数量">
<ItemTemplate>
<asp:TextBox Width="40px" ID="txtOrderQty" OnTextChanged="txtunit_price_TextChanged"
AutoPostBack="true" onfocus=" return setnull1(this); " onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value"
onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value"
onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value= 0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value};"
runat="server" Text='<%# Bind("OrderQty","{0:F0}") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="40px" />
<FooterTemplate>
<br />
<asp:Label ID="lbOrderQtyTotal" Width="40px" runat="server" Text=""></asp:Label></td>
</FooterTemplate>
<FooterStyle Width="40px" HorizontalAlign="Right" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:GridView ID="gvList" runat="server" AutoGenerateColumns="False" Width="98%" >
<Columns>
<asp:TemplateField HeaderText="品名">
<HeaderTemplate>
<asp:LinkButton ID="LinkButton2" Style="color: White;" OnClientClick="GetItem();return false;"
runat="server">品名</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:HiddenField ID="hidomaterialname" runat="server" Value='<%#Bind("MaterialName") %>' />
<asp:TextBox ID="txtmaterialname" runat="server" Text='<%#Bind("MaterialName") %>'
AutoPostBack="true" OnTextChanged="txtmaterialname_TextChanged" Width="140px"></asp:TextBox>
<%-- <ajaxToolkit:AutoCompleteExtender runat="server" ID="autoComplete3" TargetControlID="txtmaterialname"
ServicePath="AutoCatchInformation.asmx" ServiceMethod="GetCompletionListItemName"
MinimumPrefixLength="1" CompletionInterval="1000" EnableCaching="true" CompletionSetCount="10"
DelimiterCharacters=";, :">
</ajaxToolkit:AutoCompleteExtender>--%>
</ItemTemplate>
<FooterTemplate>
<br />
</FooterTemplate>
<FooterStyle Width="100px" HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="订单数量">
<ItemTemplate>
<asp:TextBox Width="40px" ID="txtOrderQty" OnTextChanged="txtunit_price_TextChanged"
AutoPostBack="true" onfocus=" return setnull1(this); " onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value"
onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value"
onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value= 0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value};"
runat="server" Text='<%# Bind("OrderQty","{0:F0}") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="40px" />
<FooterTemplate>
<br />
<asp:Label ID="lbOrderQtyTotal" Width="40px" runat="server" Text=""></asp:Label></td>
</FooterTemplate>
<FooterStyle Width="40px" HorizontalAlign="Right" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
作者: SanitySun 发布时间: 2011-12-04
顶一下
作者: stormem 发布时间: 2011-12-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28