Quantcast
Channel: ASP.NET AJAX + Ajax Control Toolkit (ACT)
Viewing all articles
Browse latest Browse all 5678

sometimes I get a listsearch extender exception

$
0
0

Hi!

I've an asp.net 3.5 application which uses the latest ajax control toolkit available for 3.5 (December 2013). The application works fine but I sometimes get an exception with a listsearch extender one page. Other pages also use listsearch extenders without any problems. But the page causing the Problem isn't very complex - just an update Panel which includes a Details view which inserts a record into a database:

<asp:UpdatePanel ID="UpdatePanelTicket" runat="server"><ContentTemplate><asp:DetailsView ID="DetailsViewTicket" runat="server" AutoGenerateRows="False" CellPadding="5"
                DataKeyNames="Oid" DataSourceID="TicketsDS" DefaultMode="Insert" GridLines="None"
                Height="50px" Width="300px"><FieldHeaderStyle Font-Bold="True" /><Fields><asp:TemplateField meta:resourcekey="tfProject"><InsertItemTemplate><asp:DropDownList ID="DropDownListProject" runat="server" AutoPostBack="True" DataSourceID="ProjectsDS"
                                DataTextField="Name" DataValueField="Oid" OnSelectedIndexChanged="DropDownListProject_SelectedIndexChanged"
                                OnLoad="DropDownListProject_Load" AppendDataBoundItems="true"></asp:DropDownList><ajaxToolkit:ListSearchExtender ID="ListSearchExtenderProjects" runat="server" TargetControlID="DropDownListProject"
                                PromptCssClass="ListSearchExtenderPrompt" PromptText='<%$ Resources:GlobalResource, ListSearchExtender.PromptText%>'
                                QueryPattern="Contains" IsSorted="true" QueryTimeout="2000"></ajaxToolkit:ListSearchExtender><asp:ObjectDataSource ID="ProjectsDS" runat="server" OldValuesParameterFormatString="original_{0}"
                                SelectMethod="GetUserProjects" TypeName="AreaService" OnSelecting="ProjectsDS_Selecting"><SelectParameters><asp:Parameter Name="pUser" Type="Decimal" /></SelectParameters></asp:ObjectDataSource><asp:RequiredFieldValidator ID="reqValPrj" runat="server" ControlToValidate="DropDownListProject"
                                InitialValue="-1" meta:resourcekey="reqValPrj" Display="None" /><ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtenderPrj" runat="server"
                                TargetControlID="reqValPrj" /></InsertItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfTitle" SortExpression="Title"><InsertItemTemplate><asp:TextBox ID="TextBoxTitle" runat="server" MaxLength="100" Width="450px" Text='<%# Bind("Title") %>'
                                onkeypress="HideStatusMessage();"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidatorTitle" runat="server" ControlToValidate="TextBoxTitle"
                                Display="None" meta:resourcekey="RequiredFieldValidatorTitle" /><ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server"
                                TargetControlID="RequiredFieldValidatorTitle" /></InsertItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfVersion" SortExpression="VersionOid"><InsertItemTemplate><asp:DropDownList ID="DropDownListVersion" runat="server" DataSourceID="VersionsDS"
                                DataTextField="Name" DataValueField="Oid" OnLoad="DropDownListVersion_Load" OnSelectedIndexChanged="DropDownListVersion_SelectedIndexChanged"></asp:DropDownList><ajaxToolkit:ListSearchExtender ID="ListSearchExtenderVersions" runat="server" TargetControlID="DropDownListVersion"
                                PromptCssClass="ListSearchExtenderPrompt" PromptText='<%$ Resources:GlobalResource, ListSearchExtender.PromptText%>'
                                QueryPattern="Contains" IsSorted="true" QueryTimeout="2000"></ajaxToolkit:ListSearchExtender><asp:ObjectDataSource ID="VersionsDS" runat="server" OldValuesParameterFormatString="original_{0}"
                                SelectMethod="GetProjectVersions" TypeName="AreaService" FilterExpression="Available='X'"><SelectParameters><asp:ControlParameter ControlID="DropDownListProject" Name="projectOid" PropertyName="SelectedValue"
                                        Type="Decimal" /></SelectParameters></asp:ObjectDataSource><asp:RequiredFieldValidator ID="RequiredFieldValidatorVersion" runat="server" ControlToValidate="DropDownListVersion"
                                Display="None" meta:resourcekey="RequiredFieldValidatorVersion" /><ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtenderVersion" runat="server"
                                TargetControlID="RequiredFieldValidatorVersion" /></InsertItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfComponent" SortExpression="ComponentOid"><InsertItemTemplate><asp:DropDownList ID="DropDownListComponent" runat="server" DataSourceID="ComponentsDS"
                                DataTextField="Name" DataValueField="Oid" OnLoad="DropDownListComponent_Load"
                                OnSelectedIndexChanged="DropDownListComponent_SelectedIndexChanged"></asp:DropDownList><ajaxToolkit:ListSearchExtender ID="ListSearchExtenderComponent" runat="server" TargetControlID="DropDownListComponent"
                                PromptCssClass="ListSearchExtenderPrompt" PromptText='<%$ Resources:GlobalResource, ListSearchExtender.PromptText%>'
                                QueryPattern="Contains" IsSorted="true" QueryTimeout="2000"></ajaxToolkit:ListSearchExtender><asp:ObjectDataSource ID="ComponentsDS" runat="server" OldValuesParameterFormatString="original_{0}"
                                SelectMethod="GetProjectComponents" TypeName="AreaService" FilterExpression="Available='X'"><SelectParameters><asp:ControlParameter ControlID="DropDownListProject" Name="projectOid" PropertyName="SelectedValue"
                                        Type="Decimal" /></SelectParameters></asp:ObjectDataSource><asp:RequiredFieldValidator ID="RequiredFieldValidatorComp" runat="server" ControlToValidate="DropDownListComponent"
                                Display="None" meta:resourcekey="RequiredFieldValidatorComp" /><ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtenderComp" runat="server"
                                TargetControlID="RequiredFieldValidatorComp" /></InsertItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfCreator"><InsertItemTemplate><asp:DropDownList ID="DropDownListCreator" runat="server" DataSourceID="ObjectDataSourceCreator"
                                DataTextField="Name" DataValueField="Oid" Enabled='<%# CurrentUserDevOrAdmin() %>'
                                OnDataBound="DropDownListErsteller_DataBound" OnSelectedIndexChanged="DropDownListErsteller_SelectedIndexChanged" /><ajaxToolkit:ListSearchExtender ID="ListSearchExtenderCreator" runat="server" TargetControlID="DropDownListCreator"
                                PromptCssClass="ListSearchExtenderPrompt" PromptText='<%$ Resources:GlobalResource, ListSearchExtender.PromptText%>'
                                QueryPattern="Contains" IsSorted="true" QueryTimeout="2000"></ajaxToolkit:ListSearchExtender><asp:ObjectDataSource ID="ObjectDataSourceCreator" runat="server" OldValuesParameterFormatString="original_{0}"
                                SelectMethod="GetProjectPersons" TypeName="PersonService" EnableCaching="true"
                                CacheDuration="3600" CacheKeyDependency="cCreatorList"></asp:ObjectDataSource></InsertItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfType" SortExpression="TypeId"><InsertItemTemplate><asp:DropDownList ID="DropDownListTickettype" runat="server" DataSourceID="TickettypesDS"
                                DataTextField="Name" DataValueField="Id" SelectedValue='<%# Bind("TypeId") %>'></asp:DropDownList><ajaxToolkit:ListSearchExtender ID="ListSearchExtenderTickettype" runat="server"
                                TargetControlID="DropDownListTickettype" PromptCssClass="ListSearchExtenderPrompt"
                                PromptText='<%$ Resources:GlobalResource, ListSearchExtender.PromptText%>' QueryPattern="Contains"
                                IsSorted="true" QueryTimeout="2000"></ajaxToolkit:ListSearchExtender><asp:ObjectDataSource ID="TickettypesDS" runat="server" OldValuesParameterFormatString="original_{0}"
                                SelectMethod="GetTickettypes" TypeName="TicketLookupService"></asp:ObjectDataSource></InsertItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfPriority" SortExpression="PriorityId"><InsertItemTemplate><asp:DropDownList ID="DropDownListPriority" runat="server" DataSourceID="PrioritiesDS"
                                DataTextField="Name" DataValueField="Id" SelectedValue='<%# Bind("PriorityId") %>'
                                OnDataBound="DropDownListPriority_DataBound"></asp:DropDownList><ajaxToolkit:ListSearchExtender ID="ListSearchExtenderPriority" runat="server" TargetControlID="DropDownListPriority"
                                PromptCssClass="ListSearchExtenderPrompt" meta:resourcekey="ListSearchExtender"
                                QueryPattern="Contains" IsSorted="true" QueryTimeout="2000"></ajaxToolkit:ListSearchExtender><asp:ObjectDataSource ID="PrioritiesDS" runat="server" OldValuesParameterFormatString="original_{0}"
                                SelectMethod="GetPriorities" TypeName="TicketLookupService"></asp:ObjectDataSource></InsertItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfDescription" SortExpression="Description"><InsertItemTemplate><asp:Panel ID="PanelText" runat="server" CssClass="frameText"><asp:TextBox ID="TextBoxDesc" runat="server" Rows="5" Text='<%# Bind("Description") %>'
                                    TextMode="MultiLine" CssClass="noborder" /></asp:Panel><ajaxToolkit:ResizableControlExtender ID="resizeDesc" runat="server" TargetControlID="PanelText"
                                ResizableCssClass="resizingText" HandleCssClass="handleText" MinimumWidth="450"
                                MinimumHeight="250" MaximumWidth="900" MaximumHeight="700" OnClientResize="OnClientResizeText" /></InsertItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfAttachment"><ItemTemplate><asp:FileUpload ID="attUpload" runat="server" Width="455" /></ItemTemplate></asp:TemplateField><asp:TemplateField meta:resourcekey="tfPublic"><InsertItemTemplate><asp:CheckBox ID="chkPublic" runat="server" Checked="true" Enabled='<%# CurrentUserDevOrAdmin() %>' /></InsertItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="" ControlStyle-CssClass="commentButton" ShowHeader="False"><ItemTemplate><asp:Button ID="ButtonInsert" runat="server" meta:resourcekey="ButtonInsert" OnClientClick="checkUpload(); showWait(); CheckDoubleClick();"
                                OnClick="DetailView_Insert" CommandName="Insert" CausesValidation="true" /><asp:Button ID="ButtonCancel" runat="server" meta:resourcekey="ButtonCancel" CommandName="Cancel"
                                CausesValidation="false" /></ItemTemplate><ControlStyle CssClass="commentButton" /></asp:TemplateField></Fields></asp:DetailsView>

As I've mentioned at the beginning the page works but SOMETIMES I get the following exception:

System.ArgumentException: the extender control "ListSearchExtenderProjects" is not a registered control. Extendersteuerelemente müssen mithilfe von RegisterExtenderControl() registriert werden, bevor RegisterScriptDescriptors() aufgerufen wird.
Parametername: extenderControl
   bei System.Web.UI.ScriptControlManager.RegisterScriptDescriptors(IExtenderControl extenderControl)
   bei System.Web.UI.ExtenderControl.Render(HtmlTextWriter writer)
   bei AjaxControlToolkit.ExtenderControlBase.Render(HtmlTextWriter writer) in f:\TeamCity\buildAgent\work\80acd78aa4c25314\Server\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:line 360.
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.WebControls.TableCell.RenderContents(HtmlTextWriter writer)
   bei System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
   bei System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
   bei System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer)
   bei System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
   bei System.Web.UI.WebControls.DetailsView.Render(HtmlTextWriter writer, Boolean renderPanel)
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.UpdatePanel.RenderChildren(HtmlTextWriter writer)
   bei System.Web.UI.UpdatePanel.Render(HtmlTextWriter writer)
   bei ASP.general_createticket_aspx.__RenderContent2(HtmlTextWriter __w, Control parameterContainer)
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)
   bei System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output)
   bei System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer)
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   bei System.Web.UI.Page.Render(HtmlTextWriter writer)
   bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei System.Web.UI.Page.HandleError(Exception e)
   bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   bei System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   bei System.Web.UI.Page.PageAsyncInfo.CallHandlersPossiblyUnderLock(Boolean onPageThread)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei System.Web.UI.Page.AsyncPageEndProcessRequest(IAsyncResult result)
   bei ASP.general_createticket_aspx.EndProcessRequest(IAsyncResult ar)
   bei System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)

The page runs asynchron because I'm sending an email in async mode in code behind. But I've a second page which runs with async=true and there the listsearch extenders run well...

Do you have any tips or ideas how to solve this issue?

Thanks!

Best Regards,
Markus


Viewing all articles
Browse latest Browse all 5678

Trending Articles