Hi,
I've got a FormView (insert mode only) with an ObjectDataSource. I want to split the FormView into several "pages", controlled by a RadTabStrip (hiding panels, showing selected panel). Works perfectly! In the last panel I want to show the submit button for the FormView. The submit button should be not ajaxified doing a server postback.
How do I do a server-side postback inside an updated control?
Did I understand the concept of the RadAjaxManager right?
Thanks,
Toby
relevant code (ASPX):
<!-- form view --->
<asp:FormView ID="QuestionnaireFormView" runat="server"
DataSourceID="QuestionnaireObjectDataSource" DefaultMode="Insert"
DataKeyNames="Id">
<InsertItemTemplate>
<asp:Panel ID="Panel1" runat="server" CssClass="questionnairepanel">
[...]
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" CssClass="questionnairepanel">
[...]
</asp:Panel>
</InsertItemTemplate>
</asp:FormView>
<!-- submit button --->
<div id="div_insertbutton" runat="server" class="div_buttons">
<asp:Button ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" AlternateText="Submit" Text=Submit" CssClass="submitbutton" />
</div>
<!-- tab strip --->
<telerik:RadTabStrip ID="RadTabStripQuestionnaire" runat="server" CssClass="rctabstrip"
ontabclick="RadTabStripQuestionnaire_TabClick" AutoPostBack="True"
SelectedIndex="1">
<Tabs>
<telerik:RadTab runat="server" Text="Question 1-3" Value="1" CssClass="rctab" SelectedCssClass="rctab_selected" Selected="True">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Question 4-8" Value="2" CssClass="rctab" SelectedCssClass="rctab_selected">
</telerik:RadTab>
[...]
</Tabs>
</telerik:RadTabStrip>
<!-- ajax manager --->
<telerik:RadAjaxManager runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadTabStripQuestionnaire">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadTabStripQuestionnaire" />
<telerik:AjaxUpdatedControl ControlID="div_insertbutton" />
<telerik:AjaxUpdatedControl ControlID="Panel1" />
<telerik:AjaxUpdatedControl ControlID="Panel2" />
[...]
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
relevant code (CS):
protected void RadTabStripQuestionnaire_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e)
{
currentpanel = e.Tab.Value;
HideShowPanels(currentpanel);
}
private void HideShowPanels(string currentpanel)
{
[...]
// in last panel show submit button
div_insertbutton.Visible = true;
}
I've got a FormView (insert mode only) with an ObjectDataSource. I want to split the FormView into several "pages", controlled by a RadTabStrip (hiding panels, showing selected panel). Works perfectly! In the last panel I want to show the submit button for the FormView. The submit button should be not ajaxified doing a server postback.
How do I do a server-side postback inside an updated control?
Did I understand the concept of the RadAjaxManager right?
Thanks,
Toby
relevant code (ASPX):
<!-- form view --->
<asp:FormView ID="QuestionnaireFormView" runat="server"
DataSourceID="QuestionnaireObjectDataSource" DefaultMode="Insert"
DataKeyNames="Id">
<InsertItemTemplate>
<asp:Panel ID="Panel1" runat="server" CssClass="questionnairepanel">
[...]
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" CssClass="questionnairepanel">
[...]
</asp:Panel>
</InsertItemTemplate>
</asp:FormView>
<!-- submit button --->
<div id="div_insertbutton" runat="server" class="div_buttons">
<asp:Button ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" AlternateText="Submit" Text=Submit" CssClass="submitbutton" />
</div>
<!-- tab strip --->
<telerik:RadTabStrip ID="RadTabStripQuestionnaire" runat="server" CssClass="rctabstrip"
ontabclick="RadTabStripQuestionnaire_TabClick" AutoPostBack="True"
SelectedIndex="1">
<Tabs>
<telerik:RadTab runat="server" Text="Question 1-3" Value="1" CssClass="rctab" SelectedCssClass="rctab_selected" Selected="True">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Question 4-8" Value="2" CssClass="rctab" SelectedCssClass="rctab_selected">
</telerik:RadTab>
[...]
</Tabs>
</telerik:RadTabStrip>
<!-- ajax manager --->
<telerik:RadAjaxManager runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadTabStripQuestionnaire">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadTabStripQuestionnaire" />
<telerik:AjaxUpdatedControl ControlID="div_insertbutton" />
<telerik:AjaxUpdatedControl ControlID="Panel1" />
<telerik:AjaxUpdatedControl ControlID="Panel2" />
[...]
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
relevant code (CS):
protected void RadTabStripQuestionnaire_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e)
{
currentpanel = e.Tab.Value;
HideShowPanels(currentpanel);
}
private void HideShowPanels(string currentpanel)
{
[...]
// in last panel show submit button
div_insertbutton.Visible = true;
}