aggiungi querystring a una proprietà postbackurl di asp: button
-
19-08-2019 - |
Domanda
Ho una casella di testo e un pulsante in un modulo su default.aspx e nel mio DownloadHandler.ashx sto ottenendo il valore di cui ho bisogno da HttpContext.Request.Form (" txtURI "):
<asp:TextBox ID="txtURI"
AutoPostBack="true"
runat="server"></asp:TextBox>
<asp:Button ID="DownloadButton"
PostBackUrl="~/DownloadHandler.ashx"
runat="server"
Text="Download"/>
Vorrei cambiarlo in modo che il valore digitato nella casella di testo venga passato a DownloadHandler.ashx come stringa di query (anziché selezionarlo da Request.Form).
Qual è il modo migliore per farlo?
Soluzione
Penso che tu abbia risposto alla tua domanda. Credo che dovrai prenderlo sulla richiesta e reindirizzare.
In realtà, più ci penso. È possibile aggiungere un OnClientClick, chiamando una funzione javascript che catturerebbe il valore dal campo e farebbe l'invio lì. Lo farei comunque sul lato server.
Altri suggerimenti
Puoi anche usare il nome del parametro di comando e il valore del parametro di comando nel tuo pulsante e in questo modo passare il valore di cui hai bisogno.
<asp:Button ID="DownloadButton"
CommandName="Download"
CommandArgument="whatever_argument_or_value" OnCommand="Download_Command"
runat="server" Text="Download"
/>