- - PR -
EnableViewStateを無効にした場合のイベント取得
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-05 11:26
一覧表示にDataGridを利用しています。
そのDataGridにイメージボタンを配置しています。 イメージボタンを押下した場合、押下された行を取得し 別画面へ遷移するように作成しています。 これまでは、EnableViewStateを有効にていたのですが、 VIEWSTATEが膨大に記述(?)されるため、無効にしようと 思っています。 しかし、無効にしたとたん、画面遷移を行わなくなって しまいました。 何かご存知のことがありましたら、お願いします。 初歩的なことかもしれませんが、よろしくお願いします。 | ||||||||
|
投稿日時: 2006-06-05 12:18
ViewStateには表示時の状態が保存されています。
ASP.NETランタイムはViewStateと実際にポストされたデータを比較してイベントの発生を制御しているので、 ViewStateを無効にしてはいけないのではないでしょうか? | ||||||||
|
投稿日時: 2006-06-05 12:54
ASP.NET はビューステートを使ってイベントを実現しているので、イベント処理を行いたい箇所はビューステートを有効にしておかねばなりません。
「膨大」は人によって感じ方は違うと思いますが、そんなに多いですか? _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-06-05 18:58
ポストバックイベントだと難しいでしょうね。 どのボタンが押されたかは、隠しフィールドの __EVENTTARGETで判断がつくと思います。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27819&forum=7 あるいは、ImageButtonのかわりにHyperLinkを置いて、別画面にリンクするとか。 プライマリーキーをクエリーで渡す。 | ||||||||
|
投稿日時: 2006-06-06 22:28
ビューステートの書き出し、読み込みをオーバーライドして、サーバが(ファイルなどに)保持する、、、という方法が、どこかで紹介されていたような???
とりあえず、patterns & practics から、ビュー ステートのチューンナップ | ||||||||
|
投稿日時: 2006-06-06 23:25
todo さんと同じで
ViewState が使えない場合で他のページに飛ばしたいだけなら HyperLink おいてクエリ文字列埋め込んで飛ばしちゃいますね | ||||||||
|
投稿日時: 2006-06-07 13:08
こんな感じで、Session に保持させるという手も。
[ メッセージ編集済み 編集者: きくちゃん 編集日時 2006-06-07 13:09 ] | ||||||||
|
投稿日時: 2006-06-08 22:01
これだったのかなぁ?→PageStatePersister クラス
|
1