0

基本的に、test.aspx や test1.aspx のようなページが必要です。test.aspx には 1 つのボタンがあり、ボタンをクリックすると、プログラムによってデータを test1.aspx ページに投稿するルーチンが呼び出され、test1.aspx ページにデータが表示されます。

これがtest.aspxページのコードです

protected void Button1_Click(object sender, EventArgs e)
{
    PostForm();
}

private void PostForm()
{

    WebRequest request = WebRequest.Create("http://localhost:14803/PaypalCSharp/Test1.aspx");
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    string postContent = string.Format("parameter1={0}&parameter2={1}", "Hello", "Wow");
    byte[] postContentBytes = Encoding.ASCII.GetBytes(postContent);
    request.ContentLength = postContentBytes.Length;
    Stream writer = request.GetRequestStream();
    writer.Write(postContentBytes, 0, postContentBytes.Length);
    writer.Close();


}

これがtest1.aspxページのコードです

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        string str1 = Request.Form["parameter1"];
        string str2 = Request.Form["parameter2"];
    }
}

結果データがそのページに投稿されていないため、コードの何が問題なのかわかりません。基本的に、ユーザーがtest.aspxのボタンをクリックすると、データがtest.aspxページからtest1.aspxページにプログラムで投稿され、test1.aspxが投稿されたデータとともにブラウザーに表示されるようにします。私の要件が満たされるように、コードで何を変更する必要があるか教えてください。ありがとう

4

1 に答える 1

0

必要以上に物事を難しくしていると思います。その他のオプションは次のとおりです。

Button1_Click メソッドで Response.Redirect を test1.aspx にリダイレクトし、クエリ文字列で 2 つのパラメーターを渡さないのはなぜですか?

または、GET 要求で作業を完了させたくない場合は、test1.aspx のコードを Button1_Click メソッドに移動し、完了後に test1.aspx にリダイレクトしてみませんか?

別の方法として、クロス ページ ポストを test1.aspx に戻してみませんか (ただし、クロス ページ ポストは JavaScript に依存しています)。

于 2012-06-01T09:22:55.987 に答える