- - PR -
[ASP.NET]DropDownListはViewStateが大前提?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-03-01 21:38
こんばんは。
今日、はじめてPageディレクティブにenableViewState="False"を指定した画面で WebコントロールのDropDownListを使用する、ということをやりました。 PageIndexChangedイベントがうまく発生しないのはなんとなく予想してたのですが、 Page_LoadでSelectedIndexやSelectedValueプロパティの値を取得することすらできません。 ページのEnableViewStateがFalseになっている画面でDropDownListの選択値を取得するには、 Request(DropDownList.UniqueID)でとるしかないのでしょうか? |
|
投稿日時: 2006-03-02 14:27
コントロール実行の有効期間の「ポストバック データの処理」フェースで.Itemsが復元されていなければなりません。
.Itemsをデザイナで定義するか、Page.InitでDataBindするとか。 |
|
投稿日時: 2006-03-03 10:45
ASP.NET 1.1でViewStateを無効にすると
Request.Form("DropDownList1") のように選択した値を取得するしかないようです。 この問題はマイクロソフトも認識しているようでASP.NET 2.0では問題なく動作します。 ↓ASP.NET 2.0でViewStateを無効にする http://aspspider.net/AkioKasai/Goto.aspx?id=060303-1 ASP.NET 1.1でViewStateを削減するにはViewStateをSessionStateに移行する 方向で検討されてはどうでしょうか。 あと、Ajaxを組み込んでポストバックを回避するとか・・・ ↓DropDownList/ListBoxを連動させる(ASP.NET 1.1 Ajax版) http://www.friendlysw.com/aspnet/Articles/Goto.aspx?id=050826-1 ASP.NET 2.0ではAtlasを組む込むとコードレスでポストバックを回避できます。 ↓DropDownList/GridViewを連動させる(ASP.NET 2.0 Atlas版) http://aspspider.net/AkioKasai/Goto.aspx?id=060301-3 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 |
|
投稿日時: 2006-03-03 15:21
todoさん、Accessさん、ご回答ありがとうございます。
使用する.NET Frameworkは1.1SP1です。 今ちょっと忙しいので、とりあえずRequestからとるようにします。 暇になったら、他の方法も試してみたいと思います。 |
1