2016-11-28 2 views
0

Code hinter Änderungen sind nach der Ausführung von response.appendheader Inhalt-Disposition in einem Asp: LinkButton Klickereignis verloren.Code hinter Änderungen gehen verloren nach der Ausführung von response.appendheader Inhalt-Disposition

Ich habe eine Asp: LinkButton, wenn der Benutzer klickt dann Datei angefügt wird Download, auch ich muss wissen, der Link angeklickt ist oder nicht. Zu Testzwecken habe ich ein Textfeld gesetzt und den Text auf asp: LinkButton click event geändert. Aber der Textfeldtext bleibt der gleiche alte Text und Datei wird ordnungsgemäß heruntergeladen.

<asp:LinkButton runat="server" ID="LinkAttachmentView" 
       ToolTip="Click here to Download the Attachment" Font-Bold="True" 
       ForeColor="Red" >Click here to View the Attachment 
</asp:LinkButton> 

Hier ist der Code

Protected Sub LinkAttachmentView_Click(sender As Object, e As System.EventArgs) Handles LinkAttachmentView.Click 

     If HdAttachmentFileName.Value = "" Then 
      HdAttachmentClicked.Value = "0" 
      Return 
     End If 
     HdAttachmentClicked.Value = "1" 
     TextBox1.Text = "clicked" 

     Response.ContentType = ContentType 
     Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(HdAttachmentFileName.Value)) 
     Response.WriteFile(HdAttachmentFileName.Value) 

     Response.Flush() 

     Response.End() 

     HdAttachmentClicked.Value = "1" 
     TextBox1.Text = "clicked" 

    End Sub 

Antwort

0

Alles, was ich brauchen, ist der Benutzer klicken Sie auf den Linkbutton wissen oder nicht. Ich habe einfach eine JavaScript-Funktion hinzugefügt, um den Wert des Feldes "Versteckt" zu aktualisieren. Hier

ist die javascript:

function SetClickValue() { 
     var HdField = document.getElementById("<%=HdAttachmentClicked.ClientID%>"); 
     HdField.value = "1"; 
    } 

HTML:

<asp:LinkButton runat="server" ID="LinkAttachmentView" 
       ToolTip="Click here to Download the Attachment" Font-Bold="True" 
       ForeColor="Red" onclientclick="SetClickValue()"    
       >Click here to View the Attachment 
       </asp:LinkButton> 

Und Ereignis klicken ist jetzt nur für das Herunterladen Datei angehängt:

Protected Sub LinkAttachmentView_Click(sender As Object, e As System.EventArgs) Handles LinkAttachmentView.Click 

     If HdAttachmentFileName.Value = "" Then 
      HdAttachmentClicked.Value = "0" 
      Return 
     End If 


     Response.ContentType = ContentType 
     Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(HdAttachmentFileName.Value)) 
     Response.WriteFile(HdAttachmentFileName.Value) 
     Response.Flush() 
     Response.End() 
    End Sub 
Verwandte Themen