function 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 />
<
telerik:RadComboBox ID="rcbUser" runat="server" AllowCustomText="false" DropDownWidth="300px"
EmptyMessage="Enter a hint or Select Employee" EnableLoadOnDemand="true" EnableTextSelection="false"
Height="200px" HighlightTemplatedItems="true" OnItemDataBound="rcbUser_ItemDataBound" Filter="Contains"
OnItemsRequested="rcbUser_ItemsRequested" SkinID="ddRegular" ToolTip="Enter a hint or Select Employee"
Width="200px" EnableVirtualScrolling="true" OnClientItemsRequesting="OnClientItemsRequesting"
ShowMoreResultsBox="true" ItemsPerRequest="15">
<HeaderTemplate>
Client Script:
<script type="text/javascript">
//on upload button click temporarily disables ajax to perform upload actions
function conditionalPostback(sender, args) {
if (args.EventTarget == "<%= btnCreate.UniqueID %>") {
args.EnableAjax =
false;
}
}
function OnClientItemsRequesting(sender, eventArgs) {
var context = eventArgs.get_context();
context[
"FilterString"] = eventArgs.get_text();
// if (sender.get_text().length < 2) {
// eventArgs.set_cancel(true);
// }
// //Highlight the matches based on the combobox text
sender.highlightAllMatches(eventArgs.get_text());
if (sender.get_items().get_count() > 0)
sender.get_items().getItem(0).highlight();
}
</script>