2012-10-04 63 views
2

以下是我的代碼。我正在使用telerik下拉列表..但是發生的是,從下拉列表中選擇一個值後,當頁面被回發..我的選定值得到了顯示。無法在回發中保留Telerik下拉列表選定值

<telerik:RadComboBox ID="cmbSavedSearch" runat="server" 
      AutoPostBack="true" 
      AppendDataBoundItems="True" 
      EnableItemCaching="True" 
      DataSourceID="odsSavedSearch" 
      DataTextField="User_Search_Nm" 
      DataValueField="User_Search_Id" 
      OnSelectedIndexChanged="SavedSearchSelected" 
      Width="200px" 
      EnableViewState="true" 

      > 
      <Items> 
       <telerik:RadComboBoxItem Text="Please Select..." Value="0" /> 
      </Items> 
     </telerik:RadComboBox> 

protected void SavedSearchSelected(object source, EventArgs e) 
     { 
     try 
     { 
     SavedSearchId = Conversion.ToInt32Default(cmbSavedSearch.SelectedValue, 0); 
     cmbSavedSearch.FindItemByValue("0").Selected = true; 
     cmbSubVessel.Items.Clear();    
    } 
    catch (Exception ex) 
    { 
     bool rethrow = 
     ExceptionPolicy.HandleException ex,CurrentSite.Instance.Error_UI_Policy_Name); 
     NameValueCollection errDetail = new NameValueCollection(1); 
     errDetail.Add("UserErrorMessage", UserErrorMessage); 
     ExceptionHandler handler = new ExceptionHandler(ex, errDetail); 
    } 

}

+0

此組合位於UpdatePanel中還是與telerik radajaxmanager配合使用?如果是這樣,在組合的回傳中是否更新了'odsSavedSearch'控件? –

+0

@Yuriy:No..it被寫成直線.. aspx頁面 –

回答

5

我的猜測是,你每PostBack加載你RadComboBox

您應該檢查頁面是否第一次加載,或者是否在觸發OnSelectedIndexChanged事件時將頁面回送到服務器上。

下面是它如何工作:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     LoadcmbSavedSearch(); 
    } 
} 

如果加載Items到您的RadComboBoxPostback,您SelectedValue將會丟失,因爲你RadComboBox剛剛構建。

相關問題