hijiki7777
asked on
Cannot trigger update panel from event from cascadingdropdowns
I have a series of cascadingdropdowns. The last dropdpwn has a an autopostback, so that when it's index changes, it can trigger an update panel update.
However when I try it, I get an error;
"Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="tru e"/>
I should add that if I set EnableEventValidation="fal se" for the page, I do not get an exception, but also nothing seems to happen either.
However when I try it, I get an error;
"Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="tru
I should add that if I set EnableEventValidation="fal
<fieldset style="padding:3px">
<legend>Business Level </legend>
<h2>Company</h2>
<asp:DropDownList ID="ddlCompany" width="99%" runat="server"
ToolTip="Company" >
</asp:DropDownList>
<h2>Business</h2>
<asp:DropDownList ID="ddlBusiness" width="99%" runat="server"
ToolTip="Business" >
</asp:DropDownList>
<h2>Business Streams</h2>
<asp:DropDownList ID="ddlBusiness_Streams" width="99%" runat="server"
ToolTip="Business Streams" >
</asp:DropDownList>
<h2>Operating Group</h2>
<asp:DropDownList ID="ddlOperating_Groups" width="99%" runat="server"
ToolTip="Operating Group">
</asp:DropDownList>
<h2>Business Unit</h2>
<asp:DropDownList ID="ddlBusiness_Units" width="99%" runat="server"
ToolTip="Business Unit">
</asp:DropDownList>
<h2>Division</h2>
<asp:DropDownList ID="ddlDivisions" width="99%" runat="server"
ToolTip="Division">
</asp:DropDownList>
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown1" runat="server"
TargetControlID="ddlCompany" Category="Company" PromptText="Select a company"
ServicePath="../WebServicesBusinessLevels.asmx" ServiceMethod="GetCompanyLevels" />
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown2" runat="server"
TargetControlID="ddlBusiness" Category="Business" PromptText="Select a business"
ParentControlID="ddlCompany"
ServicePath="../WebServicesBusinessLevels.asmx" ServiceMethod="GetBusinessLevels" />
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown3" runat="server"
TargetControlID="ddlBusiness_Streams" Category="BusinessStream" PromptText="Select a business stream"
ParentControlID="ddlBusiness"
ServicePath="../WebServicesBusinessLevels.asmx" ServiceMethod="GetBusinessStreamLevels" />
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown4" runat="server"
TargetControlID="ddlOperating_Groups" Category="OperatingGroup" PromptText="Select an operating group"
ParentControlID="ddlBusiness_Streams"
ServicePath="../WebServicesBusinessLevels.asmx" ServiceMethod="GetOperatingGroupLevels" />
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown5" runat="server"
TargetControlID="ddlBusiness_Units" Category="BusinessUnit" PromptText="Select a business unit"
ParentControlID="ddlOperating_Groups"
ServicePath="../WebServicesBusinessLevels.asmx" ServiceMethod="GetBusinessUnitLevels" />
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown6" runat="server"
TargetControlID="ddlDivisions" Category="Division" PromptText="Select a devision"
ParentControlID="ddlBusiness_Units"
ServicePath="../WebServicesBusinessLevels.asmx" ServiceMethod="GetDivisionLevels" />
</fieldset>
<div id="maincenter">
<asp:UpdatePanel runat="server" ID="updProjects" UpdateMode="Conditional">
<ContentTemplate>
<cc1:InsertableGrid ID="gvwProjects" runat="server" AllowPaging="True" AutoGenerateColumns="False"
DataSourceID="odsProjects" DataKeyNames="Div_No,Project"
AllowInsert="True"
onRowCreated="gvwProjects_RowCreated"
OnRowInserting="gvwProjects_RowInserting"
OnRowInserted="gvwProjects_RowInserted"
OnRowUpdated="gvwProjects_RowUpdated">
<Columns>
<asp:CommandField ShowEditButton="True" ShowDeleteButton="True" />
<asp:BoundField DataField="Project" HeaderText="Project" SortExpression="Project" />
<asp:BoundField DataField="Name_Long" HeaderText="Name Long" SortExpression="Name_Long" />
<asp:BoundField DataField="Name_Short" HeaderText="Name Short" SortExpression="Name_Short" />
<asp:BoundField DataField="PM_NetworkID" HeaderText="PM NetworkId" SortExpression="PM_NetworkID" />
</Columns>
</cc1:InsertableGrid>
<asp:ObjectDataSource ID="odsProjects" runat="server"
SelectMethod="GetProjects_Manual"
TypeName="Biz.Projects"
DeleteMethod="Delete_Project"
InsertMethod="Insert_Project"
UpdateMethod="Update_Project">
<SelectParameters>
<asp:ControlParameter ControlID="ddlDivisions" Name="_Div_No" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
<DeleteParameters>
<asp:ControlParameter ControlID="ddlDivisions" Name="Div_No" PropertyName="SelectedValue"
Type="Int32" />
<asp:Parameter Name="Project" Type="string" />
</DeleteParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="ddlDivisions" Name="Div_No" PropertyName="SelectedValue"
Type="Int32" />
<asp:Parameter Name="Project" Type="string" />
<asp:Parameter Name="Name_Long" Type="string" />
<asp:Parameter Name="Name_Short" Type="string" />
<asp:Parameter Name="PM_NetworkID" Type="string" />
</UpdateParameters>
<InsertParameters>
<asp:ControlParameter ControlID="ddlDivisions" Name="Div_No" PropertyName="SelectedValue"
Type="Int32" />
<asp:Parameter Name="Project" Type="string" />
<asp:Parameter Name="Name_Long" Type="string" />
<asp:Parameter Name="Name_Short" Type="string" />
<asp:Parameter Name="PM_NetworkID" Type="string" />
</InsertParameters>
</asp:ObjectDataSource>
<asp:Label ID="lblMessage" runat="server" ForeColor="Red" ></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlDivisions" EventName="selectedindexchanged" />
</Triggers>
</asp:UpdatePanel>
</div>
just wondering in your initial code you had"
<asp:DropDownList ID="ddlDivisions" width="99%" runat="server"
ToolTip="Division">
For postback to occur when selection changes in ddlDivisions you need AutoPostBack="true" and thats what you added in your working code.
Hope I understood the problem correctly.
<asp:DropDownList ID="ddlDivisions" width="99%" runat="server"
ToolTip="Division">
For postback to occur when selection changes in ddlDivisions you need AutoPostBack="true" and thats what you added in your working code.
Hope I understood the problem correctly.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I just have to put an event in the dropdown. I decided to make the grid invisible, then in the event make it visible, then it works (see code below).
However I would still like to know why this makes a difference. It seems odd that I have to put this extra bit of code in.
Open in new window