
DropDownListの初期値を設定する方法は、
何かありませんでしょうか?
車を一覧表示する画面(GridView)を作っております。
[メーカー][車種][カラー]をプルダウン選択して、
GridViewを絞り込みで一覧表示をします。
以下のような、
AutoPostBackでDBを取得して、連動したDropDownListを作りました。
-----------
▼メーカー
1.TOYOTA
2.日産
3.SUZUKI
4.三菱
5.マツダ
-----------
▼車種(2.日産の場合)
1.リーフ
2.ティーダ
3.マーチ
4.セレナ
-----------
▼ボディカラー(1.リーフの場合)
1.白
2.黒
3.青
ここまではうまくできたのですが、この一覧画面を表示する際に、
・ログインより日産の社員は、初期値として[日産]をデフォルト選択をしたい。
・一度検索したプルダウンの値を、初期値としてデフォルト選択をしたい。
という事をしたいのです。
Sessionで値を保持してプルダウンのデフォルト値としたいのですが。
出来ません・・・
何かいい方法はありませんでしょうか?
AJAXを多用するなど方法は何でもよいのですが。
何かサンプルなどあればご紹介頂きたいです。
どうぞ宜しくお願い申し上げます。
-----------------------
Webアプリケーションです。
.Net Flamework4.0
C#
Visual Basic 2010
SQL Server 2008 R2
-----------------------
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>[SelectedIndex][SelectedValue]など色々といじってはみましたが、
タイミングの問題と思いますが。。。どのタイミングで設定しようとしているのでしょうか?
Page_PreRenderComplete 内でやってますか?
DropDownList の DataBound イベントは、Page_PreRender より後に実行されるので、Page_Load とか Page_PreRender とかで設定しようとしても、設定した後選択肢が初期化されることになります。
この回答への補足
おっしゃる通りにPage_LoadやPage_PreRenderなどで試していました・・・
これじゃあタイミングとしてダメなんですね。
どのタイミングでやればいいのでしょうか?
すいません。ご教授頂きたいです。
No.1
- 回答日時:
SelectedValue か SelectedIndex 使えばよいだけでは?
PostBack のたびに、DropDownList の選択肢を DB から取得しなおして初期化してしまっていて、その前に SelectedValue の設定をしているからうまく行ってないとか。
コードを提示すれば適切なアドバイスが得られるかもです。
この回答への補足
----------------------------------------------------------------
<asp:DropDownList ID="Car" runat="server" AutoPostBack="True"
DataSourceID="SqlDataSource3" DataTextField="Car"
DataValueField="Car">
</asp:DropDownList>車種
<asp:SqlDataSource
~~DBへのSELECT文を記述~~
<SelectParameters>
<asp:ControlParameter ControlID="Maker" Name="Maker" PropertyName="SelectedValue" />
<asp:SessionParameter DefaultValue="" Name="Car" SessionField="Car" Type="Int32" />
<asp:SessionParameter DefaultValue="" Name="BodyColor" SessionField="BodyColor" Type="string" />
</SelectParameters>
</asp:SqlDataSource>
----------------------------------------------------------------
実際に、車種のプルダウンの場合は以上のようなソースです。
なんとかできないかと、
[SelectedIndex][SelectedValue]など色々といじってはみましたが、
うまくいきません・・・・
アドバイス頂きたいです。
お願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
オブジェクト参照がオブジェクト インスタンスに設定されていません というエラーについて
Microsoft ASP
-
ASP.NET TextBox 入力制限
Microsoft ASP
-
-
4
【C#】Page_Loadさせない方法について
その他(プログラミング・Web制作)
-
5
ASPで画面間のパラメタ受け渡し
Microsoft ASP
-
6
TextChangeイベントが発生しない
JavaScript
-
7
GridviewとDataGridviewの違い
Microsoft ASP
-
8
asp.netにてgridviewの列を動的にボタンやチェックボックスを追加して実装したいのですが具
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
公園に車をとめカーセックスを...
-
自動車メーカを”OEM”と呼ぶ理由
-
トヨタのCHRです。 これはなん...
-
昭和23年の5万円は、現在の価値...
-
レノボ1962 errer パソコンが起...
-
左右の隙間の違いってアドバイ...
-
ナビ画面が勝手にスクロールす...
-
車のアンテナが折れました。折...
-
ヤリスで国道425号
-
はじめまして愛知県でシーバス...
-
新車を現金で購入したのに所有...
-
明日、仮免技能試験を受けます...
-
軽自動車やコンパクトカーに乗...
-
道路幅3m車庫幅2.8m にエ...
-
アイシンへの自動車通勤について
-
この新機能メッチャ凄いですよ...
-
C27セレナのコーションプレート...
-
??ドアスピーカーのカプラー...
-
駐車場の耐久荷重が分かりませ...
-
農耕用のトラクターのフロント...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自動車メーカを”OEM”と呼ぶ理由
-
レノボ1962 errer パソコンが起...
-
公園に車をとめカーセックスを...
-
この新機能メッチャ凄いですよ...
-
明日、仮免技能試験を受けます...
-
??ドアスピーカーのカプラー...
-
車のアンテナが折れました。折...
-
昭和23年の5万円は、現在の価値...
-
なぜ、ホンダ車タイヤのナット...
-
EXCEL VBAで、セルの文字列の...
-
旦那がトヨタ勤務なのに 働いて...
-
トヨタのヤリス イグニッション...
-
道路幅3m車庫幅2.8m にエ...
-
【五十鈴】ってなんですか? 50...
-
日立と日産
-
ディーラー整備士の食事時間は?
-
駐車場の耐久荷重が分かりませ...
-
この前とある右コーナーをFF車...
-
今はもう日本製より中国製でし...
-
誰かエールの切り方を教えて
おすすめ情報