将查询字符串添加到asp:button的postbackurl属性

时间:2009-03-17 20:18:38

标签: query-string httpcontext autopostback postbackurl

我在default.aspx和我的DownloadHandler.ashx上的表单上有一个文本框和一个按钮我从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"/>

我想更改它,以便键入文本框的值作为查询字符串传递给DownloadHandler.ashx(而不是从Request.Form中选择它)。

实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

我想你回答了自己的问题。我相信你将不得不在请求和重定向上接收它。

实际上,我越是想到它。你可以添加一个OnClientClick,调用一个javascript函数,它将从字段中获取值并在那里进行提交。不过我会在服务器端做这件事。

答案 1 :(得分:0)

您还可以在按钮中使用命令参数名称和命令参数值,并以此方式传递您需要的值。

<asp:Button ID="DownloadButton"
    CommandName="Download" 
    CommandArgument="whatever_argument_or_value" OnCommand="Download_Command"
    runat="server" Text="Download"
/>