开发者

Switching to FormViewMode.Edit is very slow

开发者 https://www.devze.com 2023-01-03 11:22 出处:网络
When i switch an ASP.Net Formview from readonly mode to edit mode it takes more than 6 seconds(from edit to readonly takes a split second).

When i switch an ASP.Net Formview from readonly mode to edit mode it takes more than 6 seconds(from edit to readonly takes a split second). I have no idea whats the reason for it. The EditItemTemplate contains a lot of controls(table,textboxes,dropdownlists) but in fact not more than the ItemTemplate has. Yet i have even commented out the complete FormView.DataBound where the controls are data bounded but without significant change. My ASP.Net Web Apllication is using Ajax and the Formview is completely nested in an UpdatePanel. Any suggestions or assumptions for this behaviour?

EDIT: I have removed all Ajax Controls from the EditItemtemplate and now it performs as fast as the Itemtemplate. What can be the reason for it? Following controls removed:

                    <act:ValidatorCalloutExtender ID="NoDeliveryNoteValidatorExtenderEdit" BehaviorID="NoDeliveryNoteValidatorExtenderEdit" runat="server" TargetControlID="NoDeliveryNoteValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="NoArrivalAtValidatorExtenderEdit" BehaviorID="NoArrivalAtValidatorExtenderEdit" runat="server" TargetControlID="NoArrivalAtValidatorEdit" Width="150px"   HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutEx开发者_开发百科tender ID="ArrivalAtValidatorExtenderEdit" BehaviorID="ArrivalAtValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="ArrivalAtValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="NoPalletCountValidatorExtenderEdit" BehaviorID="NoPalletCountValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="NoPalletCountValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="PalletCountIntegerValidatorExtenderEdit" BehaviorID="PalletCountIntegerValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="PalletCountIntegerValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="NoWeightInValidatorExtenderEdit" BehaviorID="NoWeightInValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="NoWeightInValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="WeightInIntegerValidatorExtenderEdit" BehaviorID="WeightInIntegerValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="WeightInIntegerValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="WeightOutIntegerValidatorExtenderEdit" BehaviorID="WeightOutIntegerValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="WeightOutIntegerValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="NoCountInValidatorExtenderEdit" BehaviorID="NoCountInValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="NoCountInValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="CountInIntegerValidatorExtenderEdit" BehaviorID="CountInIntegerValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="CountInIntegerValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="CountOutIntegerValidatorExtenderEdit" BehaviorID="CountOutIntegerValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="CountOutIntegerValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="NoRecipientValidatorExtenderEdit" BehaviorID="NoRecipientValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="NoRecipientValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="NoChargeTypeValidatorExtenderEdit" BehaviorID="NoChargeTypeValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="NoChargeTypeValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:ValidatorCalloutExtender ID="NoCustomerValidatorExtenderEdit" BehaviorID="NoCustomerValidatorExtenderEdit" PopupPosition="right" runat="server" TargetControlID="NoCustomerValidatorEdit" Width="150px" HighlightCssClass="highlight" WarningIconImageUrl="~/images/warning.gif" CloseImageUrl="~/images/close.gif" />
                    <act:CalendarExtender ID="ArrivalAtExtenderEdit" runat="server" BehaviorID="ArrivalAtExtenderEdit" TargetControlID="TxtArrivalAtEdit"></act:CalendarExtender>

So it seems that i should rename this thread to "ASP.NET AJAX: Performance issues with extender controls".

Actually my problem was, that i had an old reference to AjaxControlToolkit.dll in my Project(3.0x). When i removed it and added the newer (3.5x) Version it performed nearly as fast as without the Extender Controls.


Actually my problem was, that i had an old reference to AjaxControlToolkit.dll in my Project(3.0x). When i removed it and added the newer (3.5x) Version it performed nearly as fast as without the Extender Controls.


When they are out of view, its possible that the AJAX controls do not load their scripts nor register themselves, thus all of this happens when you go to edit mode with the controls inline... I have not tried this with this control, but that would seem to be logically why that happens.

Each AJAX control goes through an initialization process (all the $create client-side method calls) and maybe that is taking a while...

HTH.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号