2

下面是我的代码。我正在使用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);
    }

}

4

1 回答 1

5

我的猜测是你正在加载你RadComboBox的每一个PostBack.

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

这是它应该如何工作的:

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

如果ItemsRadComboBox在 every 上加载Postback,您SelectedValue将丢失,因为您RadComboBox刚刚构建。

于 2012-10-10T14:04:53.433 回答