StringBuilder を使用してデータを別のフォームに投稿する、セッションのない Web サイトを作成しようとしています。問題は、データが他のフォームに投稿された後、ページが正しく読み込まれることですが、ページをリロードするか、Enter キーを押すと、非表示のフィールドの値が失われます。
例えば
ページ A は StringBuilder を使用してページ B に投稿しています。ページ B はフォーム データを取得して非表示フィールドに保存しますが、ページを更新するとすべてが失われます。
StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>", "page2.aspx");
sb.AppendFormat("<input type='hidden' name='param1' value='{0}'>", param1.Value);
sb.AppendFormat("<input type='hidden' name='param2' value='{0}'>", param2.Value);
sb.Append("</form>");
sb.Append("</body>");
sb.Append("</html>");
Response.Write(sb.ToString());
Response.End();