0

私は自分のコードで本当に悪いことをしています。すべてのデータを実際のページに投稿し、HTML入力に入力しています。

private void GetPostedForm()
{
    System.Text.StringBuilder displayValues = new System.Text.StringBuilder();
    System.Collections.Specialized.NameValueCollection postedValues = Request.Form;

    for (int i = 0; i < postedValues.AllKeys.Length; i++)
    {
        String nextKey = postedValues.AllKeys[i];
        if (nextKey.Substring( 0, 2 ) != "__")
        {
            displayValues.Append( "<input type='hidden' name='" + nextKey + "' value='" + postedValues[i] + "'/>" );
        }
    }
    hiddensPost.InnerHtml = displayValues.ToString();
}

しかし、このページのhtml入力は私には役に立たない。2つの古いページの間にページを配置しています(「A」は「B」にフォームを送信しました)。次に、「A」を「X」に送信してから「B」に送信する必要があります。

問題は、要求されたフォームを実際のフォームに入れて、HTMLでこのような混乱をすべて行わずに、次のページに送信するにはどうすればよいですか?

4

2 に答える 2

1

可能であれば、メソッドをに変更しGET、QueryStringをページからページに渡します。

于 2012-04-03T20:24:50.613 に答える
1

ステップ(A、X、B)とそれが目に見える入力を別々のaspパネル(pnlA、pnlX、pnlB)に入れることができます

次に、必要な状態でパネルの表示を切り替えるだけです.ViewStateがそれを行います(コントロールの状態をフォーム内の1つの非表示フィールドに保存して、入力で再度投稿します)

したがって、ユーザーが入力したデータを 1 つの html フォーム (有名な asp.net フォーム) で 3 回投稿できます。

別の解決策はこちら、asp.netウィザードコントロールです

于 2012-04-03T20:13:50.727 に答える