无法保留Telerik下拉列表在回发时列出选定的值

时间:2012-10-04 07:52:52

标签: asp.net 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);
    }

}

1 个答案:

答案 0 :(得分:5)

我的猜测是,您每RadComboBox次加载PostBack

您应该首次检查页面是否正在加载,或者在OnSelectedIndexChanged事件被触发时是否在服务器上回发页面。

以下是它应该如何运作:

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

如果您在每ItemsRadComboBox加载PostbackSelectedValue将会丢失,因为RadComboBox刚刚构建完毕。