or


ctl00_MainContent_RadScheduler1_Form_AppointmentRecurrenceEditor_RangeOccurrences_wrapper
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="test.ascx.cs" Inherits="_Controls_test" %><asp:Button ID="btnText" runat="server" Text="test" OnClick="btnTest_Click" />protected void btnTest_Click(object sender, EventArgs e) { CommandEventArgs args = new CommandEventArgs("TestEvent", "bubbled up!"); RaiseBubbleEvent(null, args); }<telerik:RadScriptManager ID="ScriptManager1" runat="server" /> <telerik:RadAjaxPanel ID="UpdatePanel1" runat="server" LoadingPanelID="UpdateProgress1"> This is a test page:<br /> <asp:Literal ID="litTest" runat="server" /> <br /><br /><br /> <uc1:testUC ID="testUC1" runat="server" /> </telerik:RadAjaxPanel> <telerik:RadAjaxLoadingPanel ID="UpdateProgress1" runat="server" />protected override bool OnBubbleEvent(object source, EventArgs args) { if (args != null) { CommandEventArgs e = (CommandEventArgs)args; if (e.CommandArgument != null) { litTest.Text += e.CommandName + " = " + e.CommandArgument.ToString() + "<br />"; return true; } } return false; }<asp:UpdatePanel ID="updatePanel" ClientIDMode="Static" runat="server"> <ContentTemplate> <telerik:RadGrid ID="rgDocuments" runat="server" Width="100%" ShowStatusBar="False" AutoGenerateColumns="False" AllowSorting="False" AllowMultiRowSelection="False" AllowPaging="False" Skin="EACS" EnableEmbeddedSkins="false" OnDetailTableDataBind="rgDocuments_DetailTableDataBind" OnNeedDataSource="rgDocuments_NeedDataSource" OnPreRender="rgDocuments_PreRender"> <MasterTableView Width="100%" DataKeyNames="DOCUMENT_AUTHOR_ID" AllowMultiColumnSorting="True"> <DetailTables> <telerik:GridTableView DataKeyNames="DOCUMENT_AUTHOR_ID,DOCUMENT_AUTHOR_CATEGORY_ID" Name="Categories" Width="100%" > <DetailTables> <telerik:GridTableView DataKeyNames="DOCUMENT_ID,PARENT_DOCUMENT_ID" Name="ParentDocuments" Width="100%"> <DetailTables> <telerik:GridTableView DataKeyNames="DOCUMENT_ID,FILENAME,TITLE" Name="Documents" Width="100%"> <Columns> <telerik:GridBoundColumn DataField="DOCUMENT_ID" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="FILENAME" Visible="false"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Section Title"> <ItemTemplate> <asp:LinkButton ID="btnDocument" runat="server" OnClick="btnDocument_Click" Text='<%# Eval("Title") %>'></asp:LinkButton> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn DataField="DOCUMENT_ID" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Document Title" DataField="TITLE" > </telerik:GridBoundColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn DataField="DOCUMENT_AUTHOR_CATEGORY_ID" Display="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Category" DataField="DISPLAY_VALUE"> </telerik:GridBoundColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn DataField="DOCUMENT_AUTHOR_ID" Visible="false"></telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Author Name" DataField="DISPLAY_VALUE"></telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> </ContentTemplate> </asp:UpdatePanel>protected void btnDocument_Click(object sender, EventArgs e) { LinkButton lb = (LinkButton)sender; GridDataItem item = (GridDataItem)lb.NamingContainer; if (item != null) { string documentUploadPath = ConfigurationManager.AppSettings["DocumentUploadPath"].ToString(); string filename = documentUploadPath + item.GetDataKeyValue("FILENAME").ToString(); string title = documentUploadPath + item.GetDataKeyValue("TITLE").ToString(); if (File.Exists(Server.MapPath(filename))) { System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; byte[] bytes = File.ReadAllBytes(Server.MapPath(filename)); response.Clear(); response.AddHeader("Content-Type", "binary/octet-stream"); response.AddHeader("Content-Disposition", "attachment; filename=" + title + ".pdf;"); response.Flush(); response.BinaryWrite(bytes); response.Flush(); response.End(); } } }