2013-07-25 27 views
1

我想通過在Page_Load中調用drop.SelectedIndex = 5來設置DropDownList的初始選擇。 這是有效的,但如果我手動更改選擇並希望保存表單,則在調用drop.SelectedValue時,仍然會獲得初始選擇而不是新選擇。怎麼了?DropDownList覆蓋用戶選擇的初始選擇

+0

在頁面加載事件檢查IsPostBack屬性,只有設置的值,如果它是假的。 – asawyer

+0

使用IsPostBack功能 – Backtrack

回答

2

您忘記了您的支票if(!IsPostback)。否則,你將被觸發之前SelectedIndexChanged事件(或一個按鈕單擊事件)再次回發選擇第6項:

protected void Page_Load(Object sender, EventArgs e) 
{ 
    if(!IsPostBack) // do this only on the initial load and not on postbacks 
     dropDwonList1.SelectedIndex = 5; 
} 
0
protected void Page_Load(object sender, EventArgs e) 
{ 
if (!Page.IsPostBack) 
{ 
    //set up data here 
} 
} 


    if (Page.IsPostBack) 
    { 
    //do page reload logic in here 
    } 


    protected void foo(object sender, EventArgs e) 
    { 
    //get your selected value here 
    } 

試試這個代碼

0

你應該使用if(的IsPostBack )在Page_Load函數中。

保護無效的Page_Load(對象發件人,EventArgs的) { 如果 { drop.SelectedIndex = 5(的IsPostBack!); // yourcode }}

通過這個您的問題將得到解決