2016-04-22 8 views
0

Ich muss Daten an eine URL senden und Redirect zu demselben. Derzeit verwende ich den Code:Post-Daten zu URL und Redirect

using (WebClient client = new WebClient()) 
{ 
    byte[] response = 
    client.UploadValues("https://website.com/target.aspx", new NameValueCollection() 
    { 
     { "param1", 1 }, 
     { "param2", 0 } 
    }); 

    string result = System.Text.Encoding.UTF8.GetString(response); 
} 

Ich bekomme HTML-String als Antwort. Ich muss auf die Seite "https://website.com/target.aspx" umleiten.

+0

Okay, also können Sie den normalen Umleitungscode nicht verwenden? Ich sehe nicht, welchen Unterschied es macht, dass Sie zum ersten Mal auf die URL posten. –

+0

'Response.Redirect (" https://website.com/target.aspx ");' – erikscandola

+0

Ich muss mit POST-Anfrage umleiten. Response.Redirect sendet GET-Anfrage –

Antwort

0

Sie können nicht mit Post umleiten, aber stattdessen können Sie eine normale Umleitung Response.Redirect("https://website.com/target.aspx?s=1"); mit dem Abfrageparameter s = 1 (submit true) vornehmen. Jetzt, wenn die target.aspx Seite geöffnet wird, können Sie Javascript verwenden, um die Abfrageparameter zu überprüfen, und wenn der s-Parameter 1 ist, verwenden Sie document.getElementById("idofyourform").submibt(); das wird das Formular buchen.

Zusätzlich, wenn Sie auch die Formularwerte füllen möchten, können Sie Ihrer Abfragezeichenfolge andere Parameter hinzufügen. Sie werden gelesen und verwendet, um die Formulardaten auf der Seite, die Sie umleiten (Zielseite), zu füllen. Dann überprüfen Sie die s-Variable (oder einen anderen, wie auch immer Sie es nennen) und den automatischen Post!