2013-05-15 1 views
0

У меня есть некоторые проблемы с моим оконным контроллером, после нажатия кнопки сохранения окно должно закрыться, но это не так. Я не знаю, что не так с кодом.Закрытие окна после записи файла в ответ

Hier мой C# код

protected void Save_btn_click(object sender, EventArgs e) 
{ 
    // Saving diagram. 
    string AppPath = Server.MapPath(string.Empty); 
    DiagramWebControl1.SaveBinaryDocument(AppPath + "\\" + tbSaveFileName.Text); 

    // Saving diagram locally. 
    string filepath = AppPath + "\\" + tbSaveFileName.Text; 
    HttpContext.Current.Response.ContentType = "application/octet-stream"; 
    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;  
    filename=" + tbSaveFileName.Text); 

    HttpContext.Current.Response.Clear(); 
    HttpContext.Current.Response.WriteFile(filepath); 
    HttpContext.Current.Response.End(); 
} 

ASPX Код

<syncfusion:Window ID="wndSafeFile" runat="server" Height="170px" Width="396px" DraggingStyle="Original" 
        Title="Speichern" clientobjectid ="_sfSaveFileWindow" IconImageUrl="../Images/KBD-Favicon.ico" ClientSideOnCloseUp="OnWindowClose()"> 
    <table id="Table1" border="0" cellpadding="10" cellspacing="0" style="background-color:#f3f3f3;width: 390px" runat="server"> 
     <tr id="Tr1" runat="server"> 
      <td id="Td1" align="center" style="padding-top:10px;" valign="middle" runat="server"> 
      <asp:Label ID="Label" runat="server" Text="File Name" Font-Name="Segoe UI" Font-Size="11"></asp:Label>&nbsp; 
       <asp:TextBox id="tbSaveFileName" Text=".edd" runat="server" Font-Name="Segoe UI" Font-Size="11" 
        Height="20" Width="150"/> 
      </td> 
     </tr> 
     <tr> 
     <td id="Td2" align="center" style="padding-bottom:5px;padding-top:5px" runat="server"> 
     <asp:Button runat="server" ID="btnSave" OnClick="Save_btn_click" Font-Name="Segoe UI" Font-Size="11" Width="100px" Text="Save" BackColor="#dfdfdf" BorderWidth="1" BorderColor="#dfdfdf" BorderStyle="Solid" Height="30px" /> 
     </td> 
     </tr> 
    </table> 
</syncfusion:Window> 

ответ

0

Ваше требование может быть достигнуто путем закрытия окна в OnClientClick случае кнопки, используя метод Close(). См ниже фрагмент кода,

<syncfusion:Window ID="wndSafeFile" runat="server" InitiallyShown="true" Height="170px" 
    Width="396px" DraggingStyle="Original" Title="Speichern" ClientObjectId="_sfSaveFileWindow"> 
    <table id="Table1" border="0" cellpadding="10" cellspacing="0" style="background-color: #f3f3f3; 
     width: 390px" runat="server"> 
     <tr id="Tr1" runat="server"> 
      <td id="Td1" align="center" style="padding-top: 10px;" valign="middle" runat="server"> 
       <asp:Label ID="Label" runat="server" Text="File Name" Font-Name="Segoe UI" Font-Size="11"></asp:Label>&nbsp; 
       <asp:TextBox ID="tbSaveFileName" Text=".edd" runat="server" Font-Name="Segoe UI" 
        Font-Size="11" Height="20" Width="150" /> 
      </td> 
     </tr> 
     <tr> 
      <td id="Td2" align="center" style="padding-bottom: 5px; padding-top: 5px" runat="server"> 
       <asp:Button runat="server" ID="btnSave" OnClick="Save_btn_click" Font-Name="Segoe UI" 
        Font-Size="11" Width="100px" Text="Save" BackColor="#dfdfdf" BorderWidth="1" 
        OnClientClick="click()" BorderColor="#dfdfdf" BorderStyle="Solid" Height="30px" /> 
      </td> 
     </tr> 
    </table> 
    </syncfusion:Window> 
<script type="text/javascript"> 
    function click() { 
     _sfSaveFileWindow.Close(); 
     return false; 
    } 
</script> 

Попробуйте выше предложения