- PR -

ページ間のサーバーコントロールの受け渡しについて

1
投稿者投稿内容
Hiro
会議室デビュー日: 2002/03/29
投稿数: 18
投稿日時: 2002-08-22 08:31
いつもお世話になります。
前のスレッドでページ間のサーバーコントロールの受け渡しについて
話題になっていたので
TKさんのサンプル通りにテストして見た所
-----------------------------------------------------------------------------
FormがPostbackされたときいくつかの入力項目を受け取っているとします。この入力項目をinput.aspxで処理した後さらにoutput.aspxという次に遷移するページでも利用したい場合は
@input.aspx
<form id="WebForm1" method="post" runat="server">
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
</form>

Ainput.aspx.cs
private void Button1_Click(object sender, System.EventArgs e){
Server.Transfer("output.aspx", true ); <---- ここでエラー
}

Boutput.aspx.cs
InputValue = Request.Form["TextBox1"];
--------------------------------------------------------------------
例外の詳細: System.Web.HttpException: このページの ViewState は無効です。
壊れている可能性があります。
というエラーが帰ってしまいます。
EnableViewStateは指定しなければTrueのはずですし???
このようなエラーはどういう原因が考えられるでしょうか。
ご教授お願いします。

WinXP Pro + VS.net Pro

Hiro
TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2002-08-22 15:17
TKです。今自分で試してみましたが、同じエラーがでました。
Server.Transferで遷移させた場合、遷移先ページではIsPostBack=trueになっています。
遷移先ページではPostBackと認識しているのでViewStateを読み込もうとしますが、受け取ったViewStateは遷移元のものであり形式が合わない為エラーになっているようです
以前ベータ版のときにこれでいけてたはずですが・・・どういう処理をしていたのか
は不明です。
今、回避策を模索中です。

どなたか、お分かりの方がいらっしゃいましたらヘルプ
してください。
お願いします。
NothingButXMLInfoSet
大ベテラン
会議室デビュー日: 2002/07/16
投稿数: 116
投稿日時: 2002-08-22 19:13
サポート情報に原因と回避策が載せられています。
Hiro
会議室デビュー日: 2002/03/29
投稿数: 18
投稿日時: 2002-08-27 08:49
NothingBut.NETFXさんTKさんありがとうございました。
さっそく確認します。
1

スキルアップ/キャリアアップ(JOB@IT)