2011-08-05 12 views
10

私は本当に明白な何かが欠けていると感じました。DropDownListの選択した値を取得できません。値はリストの最初の項目を再ナビゲートします。私はDropListList 自動ポストバックプロパティをに設定しました。です。私は下に貼り付けSelectedIndexChangedEventを持っています。これはマスターページにはありません。あなたの助けを事前にASP.Net DropDownListの選択値

<asp:DropDownList ID="ddlRestCity" runat="server" 
     Width="100px" AutoPostBack="True" 
     onselectedindexchanged="ddlRestCity_SelectedIndexChanged"> 
</asp:DropDownList> 

ありがとう:ここ

protected void ddlRestCity_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (IsPostBack) 
    { 
     r_city = ddlRestCity.SelectedValue.ToString(); 
    } 
} 

は、DropDownListコントロールです!

+2

あなたの 'DataBind()'呼び出しはどこですか?あなたはコールの前に '!IsPostBack'をチェックしていますか? –

+0

皆さんは皆、冗談を書いています。すべての人が基本的なことを知っています –

+0

私たち全員に-1のおかげで感謝します。 あなたは少なくとも理由を説明することができました –

答えて

12

私はあなたがたぶんポストバックのリストを再投入しているため、選択したインデックスがリセットされていると思います。

8

DataBind()の電話番号はどこですか?あなたは電話の前に!IsPostBackをチェックしていますか?たとえば、次のように

protected void Page_Load(object sender, EventArgs e) { 
    if (!IsPostBack) { 
     ddlRestCity.DataSource = ...; 
     ddlRestCity.DataBind(); 
    } 
} 

説明:あなたがDataBind()!IsPostBackをチェックしない場合は、リストを再移入SelectedIndexChanged前が発射されます(例えばSelectedIndexChangedようPage.Load火災前に子事象ため) 。 SelectedIndexChangedが起動されると、「選択されたアイテム」は、新しく作成されたリストの最初のアイテムになります。

+0

ありがとう、あなたも私の質問を解決しました。 –

+0

ありがとう!それは私の問題を解決した – Nayef

0

r_cityとは何ですか?

それはテキストボックスだ場合、あなたはまたr_city.text = ...

ような何かをする必要があります - あなたはあなたのポストバックチェックを削除することを検討することがあります。通常、page.onloadイベントで最も便利です。通常、if NOT ispostback ...

関連する問題