C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: ViewStateについて


(過去ログ 12 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■3159 / inTopicNo.1)  ViewStateについて
  
□投稿者/ へっぽこPG (9回)-(2007/04/24(Tue) 20:57:48)

分類:[VB.NET (ASP.NET)] 

VB2005とOracle10gでASP.NETのプログラムを書いています。

ViewStateの自動復帰処理を利用してFindControlでテキストボックスを探し出してテキストボックスに入力されている値をDBに更新させたいと思っています。
ですが、画面を何枚か書いているうちにFindControlが使える画面と使えない画面が出てきました。
HTMLのソースを見るとFindControlが使える画面は__VIEWSTATEに入っている文字が多いのに対し、FindControlが使えない画面は__VIEWSTATEに入っている文字が少ないことがわかりました。
FindControlを使えるようにするにはどうすればいいのでしょうか?

テキストボックスは動的に作成されたTable内にあります。

処理の流れは以下の通りです。
Page_Loadでデータを取得
HtmlTableを使用してデータの数だけ行を作成
セル内にinputタグでテキストボックスを作成し、データの値を入力

ボタンクリックイベント内で
Dim tb As HtmlInputText
tb = New HtmlInputText
tb = CType(Me.FindControl("xxxxxxxx1"), HtmlInputText)
If tb IsNot Nothing Then
  testLabel.Text = tb.Value
End If

testLabelはテスト用に作成したLabelコントロールでテキストボックスの値を表示させるために使用しています。

以上、よろしくお願いします。

引用返信 編集キー/
■3166 / inTopicNo.2)  Re[1]: ViewStateについて
□投稿者/ 刈歩 菜良 (69回)-(2007/04/24(Tue) 22:26:02)
刈歩 菜良 さんの Web サイト
画面のデザインを見ないと何とも言えないけど、コントロールの一部がViewState切られているのではないかと...

各コントロールのEnableViewStateプロパティがTrueになっているかどうか確認してみてください。

もちろん、@Pageディレクティブや、もしユーザーコントロールを使っているのであれば、@ControlディレクティブでもEnableViewStateがFalseになっていないかどうか確認してみてください。
# 記述自体がなければデフォルトTrueです。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -