- - PR -
DropDownListの初期値を変えたい
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-08-26 11:39
できました!
WEBで検索をかけたら同じような質問を発見することができ、やってみたら♪♪♪♪ 結局↓の回答を参考に作成しました。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=40985&forum=7 Page_Load内ではなく、PreRenderで処理を行うことでできました。 出来た実際のコードを載せておきます。
| ||||
|
投稿日時: 2008-08-26 11:50
んー・・・、DropDownList の PreRender イベントのかわりに最初に示した DropDownList の DataBound イベントを使ってみるとどうなりますか?
_________________ C#と諸々 | ||||
|
投稿日時: 2008-08-26 13:05
よこけんさん>
DataBoundで、ですね!ちょっと試してみます。 しばしお待ちを… | ||||
|
投稿日時: 2008-08-26 13:14
よこけんさん>
DataBoundでもできました! DataBoundの意味(というか記述方法)がわかってなかったので遠回りしましたが 最初に教えていただいた内容で出来たようです。 お騒がせしました。(,_,) DataBound版のコードも記述しておきます。(PreRenderと一緒ですが…)
ありがとうございました。 | ||||
|
投稿日時: 2008-08-26 13:36
(追記)すみません、もしかしたら今回のケースには当てはまらないかもなので↓は取り消します。
---------------ここから取り消し------------------- DataBound イベントを使用する場合は、IsPostBack をチェックして分岐させる必要ありません。 データバインドは PreRender 時に実行されますが、データバインドは毎回実行されるわけではなく、 データを再取得する必要がある時だけ実行されるからです。 今回の場合、PreRender イベントを使用するより DataBound イベントを使用した方が適切かなぁと思います。 _________________ C#と諸々 [ メッセージ編集済み 編集者: よこけん 編集日時 2008-08-26 13:39 ] | ||||
|
投稿日時: 2008-08-26 13:39
わかりました。
DataBoundとPreRenderの違いについて、もう少し勉強します。 とにかく今回はDataBoundのほうが良いとのこと。 PostBack処理をはずして、完成形にしたいと思います。 本当にありがとうございました。 | ||||
|
投稿日時: 2008-08-26 14:11
間に合わなかった orz
一個前の投稿の追記で書きましたが、 もしかしたら今回のケースでは IsPostBack を チェックする必要があるかもしれません。 「年」を変更した時などに、「月」の選択値が期待どおりの選択値になっているかどうか 念のため確認してください。 問題がなければ、IsPostBack は不要となります。 # どちらにせよ、PreRender イベントより DataBound イベントにした方がいいとは思います。 _________________ C#と諸々 | ||||
|
投稿日時: 2008-08-26 14:51
追記、ありがとうございます。
IsPostBackの必要性ですが、動作確認をしたところ以下のようになりました。 ■テストデータ 2008/6/1〜2009/7/31を作成 ■年について(IsPostBackなし) 取得値:2008,2009の2種類のため、PostBackがなくても正常動作 ■月について(IsPostBackなし) 年が2008のときの取得値:6〜12 (初回はPostBackなしでも正常動作) 年が2009のときの取得値:1〜7 (2008年8月から2009年に変更すると、2009年8月を選択しにいくため、異常終了(存在しないレコードのため)) 同じく (2009年1月から2008年に変更すると、2008年1月を選択しにいくため、異常終了(同上)) ▼IsPostBackをつけた場合、 (2008年8月から2009年に変更すると、2009年1月を表示しにいくため、正常動作) (2009年1月から2008年に変更すると、2008年6月を表示しにいくため、正常動作) ということで、月にはIsPostBackが必要なことがわかりました。 ありがとうごさいます。 |