2

以下は私のコードです。私はテレリックドロップダウンリストを使用しています..しかし、ドロップダウンリストから値を選択した後、ページがポストバックされると、選択した値が表示されなくなります。

<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

私の推測では、あなたはRadComboBoxon every にロードしていると思いますPostBack

ページが初めて読み込まれるかどうか、またはOnSelectedIndexChangedイベントが発生したときにページがサーバーに戻されるかどうかを確認する必要があります。

これがどのように機能するかは次のとおりです。

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

on everyにロードItemsすると、構築されたばかりなので失われます。RadComboBoxPostbackSelectedValueRadComboBox

于 2012-10-10T14:04:53.433 に答える