Hi all, i faced an issue which my radajaxpanel become not working after I clicked the excel export button.
Here is my spec:
1. Using RadAjaxPanel
2. Using ClientEvents-OnRequestStart="onRequestStart" to disable ajax
3. Using CommandItemTemplate and image button in it.
4. Using server-side method to export
Here is the problem:
1. Everything works fine before export excel
2. All the controls in RadAjaxPanel not working after perform the export action.
3. Found that there is no postback after i clicked the export button.
Here is my source code:
RadCodeBlock:
<telerik:RadCodeBlock runat="server" ID="RadCodeBlock1"> <script type="text/javascript"> function onRequestStart(sender, args) { if ( args.get_eventTarget().indexOf("mngBtnExcel2") > 0) { args.set_enableAjax(false); } } function RowContextMenu2(sender, eventArgs) { var menu = $find("<%=RadMenu2.ClientID %>"); var evt = eventArgs.get_domEvent(); if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") { return; } var index = eventArgs.get_itemIndexHierarchical(); document.getElementById("radGridClickedRowIndex").value = index; sender.get_masterTableView().selectItem(sender.get_masterTableView().get_dataItems()[index].get_element(), true); menu.show(evt); evt.cancelBubble = true; evt.returnValue = false; if (evt.stopPropagation) { evt.stopPropagation(); evt.preventDefault(); } } </script> </telerik:RadCodeBlock>RadAjaxPanel:
<telerik:RadAjaxPanel ID="SearchPanel" runat="server" LoadingPanelID="RadAjaxLoadingPanel1" ClientEvents-OnRequestStart="onRequestStart"> <telerik:RadGrid ID="rgLetter2" runat="server" OnNeedDataSource="rgLetter2_NeedDataSource" AllowPaging="True" AllowSorting="True" AllowFilteringByColumn="True" ShowGroupPanel="True" CellSpacing="0" GridLines="None"> <ClientSettings> <ClientEvents OnRowContextMenu="RowContextMenu2"></ClientEvents> <Selecting AllowRowSelect="true"></Selecting> </ClientSettings> <GroupingSettings ShowUnGroupButton="false" CaseSensitive="false"></GroupingSettings> <ClientSettings AllowDragToGroup="True"> <Selecting AllowRowSelect="True" /> <ClientEvents OnRowContextMenu="RowContextMenu2" /> </ClientSettings> <MasterTableView AllowFilteringByColumn="true" AllowMultiColumnSorting="true" AutoGenerateColumns="false" CommandItemDisplay="Top" DataKeyNames="LetterID" EnableGroupsExpandAll="true" GroupLoadMode="Client" PageSize="50"> <CommandItemSettings ShowAddNewRecordButton="false" /> <PagerStyle AlwaysVisible="True" PageSizeControlType="RadComboBox" Position="TopAndBottom" PageSizes="50,100,150,200"/> <Columns> <telerik:GridTemplateColumn DataField="LSubject" HeaderText="Subject" SortExpression="LSubject" UniqueName="LSubject" FilterDelay="2000" ShowFilterIcon="false" FilterControlWidth="200px"> <ItemTemplate> <a href='<%# Page.ResolveClientUrl("ViewOutgoingLetter.aspx") %>?LetterID=<%# Eval("LetterID") %>' target="_blank"> <%# Eval("LSubject")%></a> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Company" HeaderText="Company" SortExpression="Company" UniqueName="Company" FilterDelay="2000" ShowFilterIcon="false"> </telerik:GridBoundColumn> </Columns> <CommandItemTemplate> <table width="100%"> <tr> <td align="left"> <a href="#" onclick="return openNewLetterWindow('<%# hfproject.Value %>','<%# hfBU.Value %>');"> <img style="border: 0px; width: 20px; height: 20px;" alt="" src="../App_Themes/MetroRed/Grid/AddRecord.gif" />New</a> </td> <td align="right"> <asp:ImageButton ID="mngBtnExcel2" runat="server" OnClick="btnExcel_Click2" ImageUrl="../App_Themes/MetroRed/Grid/AddRecord.gif"></asp:ImageButton> </td> </tr> </table> </CommandItemTemplate> </MasterTableView> </telerik:RadGrid> <telerik:RadContextMenu ID="RadMenu2" runat="server" OnItemClick="RadMenu2_ItemClick" EnableRoundedCorners="true" EnableShadows="true"> <Items> <telerik:RadMenuItem Text="View" ImageUrl="../App_Themes/Image/VIEW.gif"> </telerik:RadMenuItem> <telerik:RadMenuItem Text="Print Preview" ImageUrl="../App_Themes/Image/PRE.gif"> </telerik:RadMenuItem> <telerik:RadMenuItem Text="Duplicate" ImageUrl="../App_Themes/Image/COPY.gif"> </telerik:RadMenuItem> <telerik:RadMenuItem Text="Send Attachment(s)" ImageUrl="../App_Themes/Image/EML.gif"> </telerik:RadMenuItem> </Items> </telerik:RadContextMenu> </telerik:RadAjaxPanel>.cs:
protected void btnExcel_Click2(object sender, EventArgs e) { //rgLetter.ExportSettings.Excel.Format = (GridExcelExportFormat)Enum.Parse(typeof(GridExcelExportFormat), "ExcelML"); rgLetter2.ExportSettings.IgnorePaging = true; rgLetter2.ExportSettings.ExportOnlyData = true; rgLetter2.ExportSettings.OpenInNewWindow = true; rgLetter2.MasterTableView.ExportToExcel(); }Hope you guys can help me on this, i has been stuck by this issue more than 2 days.. T.T ... Thanks guys...