2015-01-07 2 views
1

Я настраиваю один веб-сайт, но при использовании триггеров в панели обновления событие клика не запускается.Кнопка не запускается внутри Аккордеонных панелей внутри внутри панели обновления в ASP.NET

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="True" 

Также смотрите Content Template

<ContentTemplate> 
    <table width="100%"> 
     <tr> 
      <td> 
       <cc1:accordion id="Accordion1" runat="server" headercssclass="headeraccordian"> 
<panes> 
      <cc1:accordionpane ID="AccordionPane1" runat="server"> 
     <header> 
      <a href="#"> 
      <asp:Label ID="dailyreport" CssClass="lbl" runat="server" Text="Daily Report"></asp:Label></a> 
    </header> 
    <content> 
      <div> 
       <asp:TextBox ID="txtDate" runat="server" ReadOnly="True" Width="94px"></asp:TextBox> 
       <asp:Button ID="btnCal" runat="server" Text="Select Date" OnClick="btnCal_Click" /> 
      &nbsp; 
       <asp:Button ID="btnDownLoads" runat="server" Text="Download" OnClick="btnDownLoads_Click" /> 
      <asp:Calendar ID="cal" runat="server" OnSelectionChanged="cal_SelectionChanged" BackColor="White" 
       BorderColor="White" BorderWidth="1px" Font-Names="Verdana" Font-Size="9pt" ForeColor="Black" 
       Height="190px" NextPrevFormat="FullMonth" Width="350px"> 
       <SelectedDayStyle BackColor="#333399" ForeColor="White" /> 
       <TodayDayStyle BackColor="#CCCCCC" /> 
       <OtherMonthDayStyle ForeColor="#999999" /> 
       <NextPrevStyle Font-Bold="True" Font-Size="8pt" ForeColor="#333333" VerticalAlign="Bottom" /> 
       <DayHeaderStyle Font-Bold="True" Font-Size="8pt" /> 
       <TitleStyle BackColor="White" BorderColor="Black" BorderWidth="4px" Font-Bold="True" 
       Font-Size="12pt" ForeColor="#333399" /> 
      </asp:Calendar> 
     </div> 
</content> 
     </cc1:accordionpane> 
</panes> 
</cc1:accordion> 
       </td> 
      </tr> 
     </table> </ContentTemplate> 

Также см спусковые

Также смотрите код-за для нажатия кнопки: -

protected void btnDownLoads_Click(object sender, EventArgs e) 
    { 
     string wdr = "dR"; 
     string value = txtDate.Text; 
     string str = wdr + value; 
     string foldername = "Daily"; 
     string filename = str + ".pdf"; 
     var filePath = Path.Combine(@"D:\REPORTS\" + foldername + " ", filename); 
     if (File.Exists(filePath)) 
     { 
      Response.ContentType = @"application/pdf"; 
      Response.AddHeader(
      @"Content-Disposition", 
      @"attachment; filename=" + Path.GetFileName(filePath)); 
      Response.WriteFile(filePath); 
      Response.End(); 
     } 
     else 
     { 
      Response.Write("<script>alert('No report uploaded for this date')</script>"); 
     } 
    } 

Я просто хочу нажать событие уволят по щелчку, и это .............

но Response.End() функция не работает должным образом при загрузке файла.

См page_load код; -

try 
    { 
     this.SmartNavigation = true; 
     if (this.IsPostBack == false) 
     { 
      //FillReport(); 
      txtDate.Text = DateTime.Now.ToString("dd-MM-yyyy"); 
      cal.Visible = false; 
      currentdate.Text = DateTime.Now.Date.ToLongDateString(); 

      #region edited 
      #region download click 

      checkdailydata(); 

      #endregion 
      #endregion 
     } 
    } 
    catch (Exception ext) // Edited Jimit included try catch 
    { 
     CreateLogFiles ls = new CreateLogFiles(); 
     ls.ErrorLog(Server.MapPath(@"~\ErrorLog\ErrorMsg"), ext.Message); 
    } 
+0

Вы имеете в виду, что файл не передается на клиентскую сторону после нажатия кнопки события? – User2012384

+0

@Mr. 香港人: Да, при нажатии кнопки ничего не происходит – BNN

+0

Поскольку панель обновления остановила передачу файла на стороне клиента, попробуйте удалить панель обновления, посмотрите, работает ли она. – User2012384

ответ

0

Я также столкнулся с такой же вопрос долгое время назад

Попробуйте Удаление Trigger на .aspx страницу и добавить (Registered Control), как показано ниже код на Page_Load вне ! page.isPostback {})

ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(btnDownLoads); 

Посмотрите, работает ли это или нет

+0

Спасибо, чувак, это сработало .. !!! – BNN

Смежные вопросы