Pergunta

Eu tenho uma caixa de texto e um botão em um formulário em default.aspx e na minha DownloadHandler.ashx Estou recebendo o valor que eu preciso de 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"/>

Eu gostaria de mudá-lo de modo a que o valor digitado na caixa de texto é passado ao DownloadHandler.ashx como uma querystring (em vez de pegá-la para fora do Request.Form).

O que é a melhor maneira de conseguir isso?

Foi útil?

Solução

Eu acho que você respondeu sua própria pergunta. Eu acredito que você vai ter para buscá-lo no pedido e redirecionamento.

Na verdade, quanto mais eu penso sobre isso. Você pode adicionar um OnClientClick, chamar uma função javascript que iria pegar o valor do campo e fazer a submeter lá. Gostaria apenas de fazê-lo Serverside no entanto.

Outras dicas

Você também pode usar o nome do parâmetro de comando e valor do parâmetro de comando no seu botão e esse valor maneira passagem que você precisa.

<asp:Button ID="DownloadButton"
    CommandName="Download" 
    CommandArgument="whatever_argument_or_value" OnCommand="Download_Command"
    runat="server" Text="Download"
/>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top