<telerik:RadNumericTextBox ID="txtPrice" Runat="server" Culture="tr-TR" Width="125px"> <NumberFormat AllowRounding="False" KeepNotRoundedValue="True" DecimalSeparator="," GroupSeparator="." GroupSizes="3" DecimalDigits="2" /> </telerik:RadNumericTextBox>
protected override void OnInit(EventArgs e) { base.OnInit(e); Page.ClientScript.RegisterStartupScript(typeof(Adapter20), this.ID, "_spOriginalFormAction = document.forms[0].action;_spSuppressFormOnSubmitWrapper=true;", true); if (this.Page.Form != null) { string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"]; if (!string.IsNullOrEmpty(formOnSubmitAtt) && formOnSubmitAtt == "return _spFormOnSubmitWrapper();") this.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();"; } // Register the ScriptManager ScriptManager scriptManager = ScriptManager.GetCurrent(Page); if (scriptManager == null) { scriptManager = new ScriptManager(); scriptManager.ID = "CWScriptManager"; scriptManager.EnablePartialRendering = true; Controls.AddAt(0, scriptManager); } //scriptManager.EnablePartialRendering = true; scriptManager.LoadScriptsBeforeUI = false; }Hello,
My question is pretty same as the following one:
http://www.telerik.com/community/forums/aspnet-ajax/tabstrip/rad-tab-click-event-not-firing-the-first-time.aspx
I followed the demo "TabStrip / Load on Demand RadPageView" and i can say that most of the code is missing so i had to combine the code from the other demoS in order to achieve what i want (please refer the code below).
However the thing is that i can't make it loads the very first pageview when tabs are created. After you click another tabpage it works as expected.
It is something similar to windows button control which has a "PerformClick" event.
Thanks
ASP.NET (HTML)
<telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" CssClass="multiPage" /><telerik:RadTabStrip OnClientTabSelecting="onTabSelecting" ID="RadTabStrip1" SelectedIndex="0" CssClass="tabStrip" runat="server" MultiPageID="RadMultiPage1" Skin="Office2007" Orientation="HorizontalBottom" />
CODE BEHIND (VB.NET)
Imports Telerik.Web.UIPublic Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then AddTab("Corporate") AddTab("Personal") End If End Sub Private Sub AddTab(ByVal tabName As String) Dim tab As New RadTab tab.Text = tabName tab.Value = tabName & ".ascx" tab.PageViewID = tabName.Replace(" "c, "") & ".ascx" RadTabStrip1.Tabs.Add(tab) End Sub Private Sub AddPageView(ByVal pageViewID As String) Dim pageView As New RadPageView() pageView.ID = pageViewID RadMultiPage1.PageViews.Add(pageView) End Sub Protected Sub TabStrip1_TabClick(ByVal sender As Object, ByVal e As RadTabStripEventArgs) Handles RadTabStrip1.TabClick AddPageView(e.Tab.Value) e.Tab.PageView.Selected = True End Sub Private Sub MultiPage1_PageViewCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadMultiPageEventArgs) Handles RadMultiPage1.PageViewCreated Dim userControlName As String = e.PageView.ID Dim userControl As Control = Page.LoadControl(userControlName) userControl.ID = e.PageView.ID + "_userControl" e.PageView.Controls.Add(userControl) End SubEnd Classfunction checkTimeCardSpelling() {var comments = $('input[id$="uxComments"]');var spellChecker = $find('<%= uxSpellChecker.ClientID %>');for (var i = 0; i < comments.length; i++) {spellChecker.set_textSource(null); // not documented, but REQUIREDspellChecker.set_controlsToCheck(null); // not documented, but REQUIREDspellChecker.set_controlToCheck(comments[i].id);spellChecker.startSpellCheck();}}a.fireEvent(String.format("on{0}",c),d);
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid2"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1"/> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="btnApplyScenario"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManager><telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Hay" EnableSkinTransparency="true" Transparency="30"></telerik:RadAjaxLoadingPanel>I have a content page that I am using in an application to add new clients and list all clients.
When a user adds a new client (by click a button #addNewClient) I want the RadAjaxManager to refresh the ListView and for the container (#newClientContainer) that contains the controls to add a new client to be hidden. I am using jQuery to show/hide #newClientContainer.
This is working to an extent, however when the RadAjaxManager refreshes I loose the ability to click any of the links in the #newClientContainer. Furthermore, I am using Cufon to replace the h1 element. After the RadAjaxManger refreshes Cufon stops working.
I have tried using #listViewContainer and #newClientContainer as the AjaxUpdatedControl, but I still loose the ability to click links.
Here is the code for the page. Any ideas?
<asp:Content ID="Content1" ContentPlaceHolderID="headerContentPlaceholder" runat="Server"> <script type="text/javascript"> $(document).ready(function () { $('#addNewClient').click(function () { $('#addNewClient').attr("disabled", true); $('#mainContentPlaceholder_newClientContainer').slideDown(function () { $('#mainContentPlaceholder_newClientContainer').show(); }); }); $('#cancel').click(function () { $('#addNewClient').removeAttr("disabled"); $('#mainContentPlaceholder_newClientContainer').slideUp(); }); }); </script></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="mainContentPlaceholder" runat="Server"> <div id="leftContainer" runat="server"> <h1> Clients </h1> <uc1:Notifications ID="notifications" runat="server" /> <div id="navigation"> <a id="addNewClient" href="#" class="button hex2C608F">Add New Client</a> </div> <div id="newClientContainer" class="extra-b5" runat="server"> <table class="clientDetailsTable" cellspacing="0" cellpadding="0"> <tr> <td> <h4 class="extra-b5"> Client Details</h4> </td> </tr> <tr> <td> <asp:Label ID="clientNameLabel" runat="server" Text="Client Name" /><br /> <asp:TextBox ID="clientNameTextBox" runat="server" CssClass="textbox short" MaxLength="50" /> <asp:RequiredFieldValidator ID="clientNameRequiredValidator" runat="server" ErrorMessage="Please enter a client name." Display="None" ControlToValidate="clientNameTextBox" ValidationGroup="newClientGroup" /> </td> <td> <asp:Label ID="themeLabel" runat="server" Text="Theme" /><br /> <asp:DropDownList ID="themeDropDownList" runat="server" AppendDataBoundItems="true" CssClass="short"> <asp:ListItem Value="-1">-- Please Select --</asp:ListItem> </asp:DropDownList> </td> <td> </td> </tr> <tr> <td colspan="2"> <asp:Button ID="addClientButton" runat="server" Text="Add" OnClick="addClientButton_Click" ValidationGroup="newClientGroup" /> or <a id="cancel" href="#">Cancel</a> </td> </tr> </table> <asp:ValidationSummary ID="newClientValidationSummary" runat="server" ShowMessageBox="true" ShowSummary="false" ValidationGroup="newClientGroup" /> </div> <div id="listViewContainer" runat="server"> <asp:ListView ID="clientsListView" runat="server"> <LayoutTemplate> <ul class="list1"> <div id="itemPlaceholder" runat="server" class="list1"> </div> </ul> </LayoutTemplate> <ItemTemplate> <li value='<%# Eval("Id") %>'> <%# Eval("Name") %><div class="options"> <a href="ClientDetails.aspx?ClientId=<%# Eval("Id") %>">Edit</a><span class="separator">|</span><a href="ManageClients.aspx?ClientId=<%# Eval("Id") %>" onclick="return confirm('Are you sure you want to delete this client?')">Delete</a></div> </li> </ItemTemplate> </asp:ListView> </div> </div> <div id="rightContainer" runat="server"> <h1> Placeholder </h1> <h4 class="extra-b12"> Integer in metus sapien.</h4> <p> Praesent diam tellus, congue nec pellentesque dictum, convallis non dui. Nam tincidunt tempor lectus quis placerat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin condimentum posuere nisl, ut mollis metus mollis at.</p> <p> Integer in metus sapien. Maecenas aliquet porttitor nisl, a rhoncus ligula pellentesque at. Maecenas tempor odio ut dolor pharetra faucibus. Cras in massa a odio vulputate ultricies ac non purus. Etiam in orci nibh, quis dictum ante. In hac habitasse platea dictumst.</p> </div> <telerik:RadScriptManager ID="radScriptManager" runat="server"> </telerik:RadScriptManager> <telerik:RadAjaxManager ID="radAjaxManager" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="addClientButton"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="leftContainer" LoadingPanelID="radAjaxLoadingPanel" /> //<telerik:AjaxUpdatedControl ControlID="listViewContainer" LoadingPanelID="radAjaxLoadingPanel" /> //<telerik:AjaxUpdatedControl ControlID="newClientContainer" LoadingPanelID="radAjaxLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="radAjaxLoadingPanel" runat="server" Skin="Vista"> </telerik:RadAjaxLoadingPanel></asp:Content> protected void AddNewDock(ModuleItem m,RadDockZone zn )
{
Trace2.WriteLineIf(PageTraceSwitch.Sw.TraceVerbose, string.Format("[V]PageLayout AddNewDock module ID: {0}, zone.ID: {1}, zone.ClientID: {1}", m.ID,zn.ID,zn.ClientID));
RadDock dock = CreateRadDock(m);
UpdatePanel1.ContentTemplateContainer.Controls.Add(dock);
string scrpt = string.Format(@"function _addDock() {{ Sys.Application.remove_load(_addDock);
$find('{1}').dock($find('{0}'));
$find('{0}').doPostBack('DockPositionChanged');}};
Sys.Application.add_load(_addDock);",dock.ClientID,zn.ClientID);
Trace2.WriteLineIf(PageTraceSwitch.Sw.TraceVerbose, string.Format("[V]PageLayout AddNewDock script:\r\n {0}", scrpt));
ScriptManager.RegisterStartupScript(dock,GetType(),"AddDock",scrpt,true);
CreateSaveStateTrigger(dock);
dock.Tag = m.ID.ToString();
}
My aspx page is very similar but the raddocklayout in in the pageview of a Mutipage with a RadTabStrip.
<radTS:PageView ID="Pageview2" Width=100% runat="server">
<fieldset id="Fieldset2" class="SettingsTableGroup" runat="server">
<legend id="legend1" runat="server">
<asp:Literal ID="Literal1" Text="<%$ Resources:ResourcesWTCRM,PAGESETTINGS_LAYOUT %>"
runat="server"></asp:Literal>
</legend>
<table cellspacing="1" cellpadding="2" border="0" width=100%>
<tr>
<td>
<asp:Literal ID="addmodule" runat="server" Text="<%$ Resources:ResourcesWTCRM,AM_ADDMODULE %>"></asp:Literal></td>
<td>
<asp:Literal ID="module_type" runat="server" Text="<%$ Resources:ResourcesWTCRM,AM_MODULETYPE %>"></asp:Literal></td>
<td colspan="2">
<asp:DropDownList ID="moduleType" runat="server" CssClass="NormalTextBox" DataTextField="FriendlyName"
DataValueField="ModuleDefID">
</asp:DropDownList></td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Literal ID="moduleLocationLabel" runat="server" Text="<%$ Resources:ResourcesWTCRM,AM_MODULELOCATION %>"></asp:Literal></td>
<td valign="top" colspan="2">
<asp:DropDownList ID="paneLocation" runat="server">
<asp:ListItem Value="LeftPane" Text="<%$ Resources:ResourcesWTCRM,AM_MODULELOCATION_LEFT %>"></asp:ListItem>
<asp:ListItem Value="ContentPane" Selected="True" Text="<%$ Resources:ResourcesWTCRM,AM_MODULELOCATION_CENTER %>"></asp:ListItem>
<asp:ListItem Value="RightPane" Text="<%$ Resources:ResourcesWTCRM,AM_MODULELOCATION_RIGHT %>"></asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td>
</td>
<td valign="top" class="Normal">
<asp:Literal ID="moduleVisibleLabel" runat="server" Text="<%$ Resources:ResourcesWTCRM,AM_MODULEVISIBLETO %>"></asp:Literal></td>
<td valign="top" colspan="2">
<asp:DropDownList ID="viewPermissions" runat="server">
<asp:ListItem Value='<% Config.CRMAllUsers+";"%>' Selected="True" Text="<%$ Resources:ResourcesWTCRM,AM_MODULEVISIBLETO_ALLUSERS %>"></asp:ListItem>
<asp:ListItem Value="Authenticated Users;" Text="<%$ Resources:ResourcesWTCRM,AM_MODULEVISIBLETO_AUTHENTICATED_USERS %>"></asp:ListItem>
<asp:ListItem Value="System Administrator;" Text="<%$ Resources:ResourcesWTCRM,AM_MODULEVISIBLETO_ADMINSROLE %>"></asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Literal ID="module_name" runat="server" Text="<%$ Resources:ResourcesWTCRM,AM_MODULENAME %>"></asp:Literal></td>
<td colspan="2">
<asp:TextBox ID="moduleTitle" runat="server" Text="<%$ Resources:ResourcesWTCRM,AM_NEWMODULENAME %>" CssClass="NormalTextBox"
Width="250" EnableViewState="false"></asp:TextBox>
<asp:ImageButton ID="AddModuleBtn" SkinID="AddModule" runat="server" AlternateText="<%$ Resources:ResourcesWTCRM,AM_ADDMODULEBELOW %>" />
</td>
</tr>
<tr>
<td colspan="4">
<hr noshade=noshade size="1" />
</td>
</tr>
<tr valign="top">
<td colspan=3 >
<telerik:raddocklayout runat="server" id="RadDockLayout1">
<div style="width:660px;margin-left:auto;margin-right:auto" >
<telerik:raddockzone runat="server" id="RadDockZone1" width="30%" MinHeight="200" style="float:left;margin-right:5%;background: #f5f4e8;" /> </telerik:raddockzone>
<telerik:raddockzone runat="server" id="RadDockZone2" width="30%" MinHeight="200" style="float:left;margin-right:5%;background: #d5f0fa;" />
<telerik:raddockzone runat="server" id="RadDockZone3" width="30%" MinHeight="200" style="float:left;background: #d5f0fa;" />
</div>
<div style="display:none">
<asp:updatepanel runat="server" id="UpdatePanel1" >
<triggers>
<asp:asyncpostbacktrigger controlid="AddModuleBtn" eventname="Click" />
</triggers>
</asp:updatepanel>
</div>
</telerik:raddocklayout>
</td>
</tr>
<tr>
<td class="Error" align="center" colspan="4">
<asp:Literal ID="msgError" runat="server" Text="<%$ Resources:ResourcesWTCRM,AM_NO_RIGHTS %>"></asp:Literal>
</td>
</tr>
</table>
</fieldset>
</radTS:PageView>
This page is using a masterpage which contains a radscriptmanager
<telerik:RadScriptManager ID="WTScriptManager" Runat="server" EnableScriptGlobalization="true" EnableScriptLocalization="true" EnableTheming="True">
</telerik:RadScriptManager>
the page itself hase a proxy as:
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat=server />