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?

È stato utile?

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"
/>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top