アプリ版:「スタンプのみでお礼する」機能のリリースについて

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件)

>[SelectedIndex][SelectedValue]など色々といじってはみましたが、



タイミングの問題と思いますが。。。どのタイミングで設定しようとしているのでしょうか?
Page_PreRenderComplete 内でやってますか?
DropDownList の DataBound イベントは、Page_PreRender より後に実行されるので、Page_Load とか Page_PreRender とかで設定しようとしても、設定した後選択肢が初期化されることになります。

この回答への補足

おっしゃる通りにPage_LoadやPage_PreRenderなどで試していました・・・
これじゃあタイミングとしてダメなんですね。
どのタイミングでやればいいのでしょうか?
すいません。ご教授頂きたいです。

補足日時:2012/06/05 07:35
    • good
    • 0

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]など色々といじってはみましたが、
うまくいきません・・・・

アドバイス頂きたいです。
お願いいたします。

補足日時:2012/06/02 11:26
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A