2009-03-17 4 views
0

Ich habe ein Textfeld und eine Schaltfläche auf einem Formular auf default.aspx und in meinem DownloadHandler.ashx bekomme ich den Wert, den ich brauche von HttpContext.Request.Form (" txtURI "):Hinzufügen von Querystring zu einer Postbackurl-Eigenschaft von asp: button

  <asp:TextBox ID="txtURI" 
         AutoPostBack="true" 
         runat="server"></asp:TextBox> 
      <asp:Button ID="DownloadButton" 
         PostBackUrl="~/DownloadHandler.ashx" 
         runat="server" 
         Text="Download"/> 

ich mag es so ändern, dass der Wert in das Textfeld eingegeben, um die DownloadHandler.ashx als Abfragezeichenfolgeflag geben wird (anstatt es aus dem Request.Form Kommissionierung).

Was ist der beste Weg, dies zu erreichen?

Antwort

1

Ich denke, Sie haben Ihre eigene Frage beantwortet. Ich glaube, Sie müssen es auf die Anfrage abholen und weiterleiten.

Eigentlich denke ich mehr darüber nach. Sie könnten ein OnClientClick hinzufügen, indem Sie eine JavaScript-Funktion aufrufen, die den Wert aus dem Feld abruft und die Übergabe dort durchführt. Ich würde es aber nur serverseitig machen.

+0

Nicht sicher, was Sie meinen, "nehmen Sie es auf der Bitte ab". Wie fügt man der PostBackURL eine passende Querystring an? –

+0

Die Seite würde zurück zu sich selbst posten (Standardverhalten), dann müssten Sie in Ihrem Code-Behind den Wert txtURI.Text abrufen, ihn an die URL anhängen, auf die Sie posten möchten, und entweder Response.Redirect oder a Server.Transfer(). Je nachdem, für was du gehst. – madcolor

0

Sie können auch Befehlsparametername und Befehlsparameterwert in Ihrer Schaltfläche verwenden und so den von Ihnen benötigten Wert übergeben.

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

Wird dies den Befehl in die Querystring setzen? – madcolor

+0

Nein, aber wird Befehlsname und Parameter an die Funktion Download_Command übergeben. Ich weiß, meine Antwort ist nicht das, was Sie gefragt haben, es ist nur eine andere Möglichkeit, Parameter in Funktion zu setzen. – Dmitris

+0

Ich habe gerade gemerkt, dass du nach etwas ganz anderem gefragt hast, sorry. – Dmitris