【问题标题】:RadComboBox selected value is emptyRadComboBox 选择的值为空
【发布时间】:2012-09-26 16:23:25
【问题描述】:

当我点击我的按钮时,我得到了SelectedValue = ""

我的 aspx :

<telerik:RadComboBox ID="ddl_contactList" runat="server" AutoPostBack="True" CausesValidation="False"
            CollapseDelay="0" Culture="ar-EG" ExpandDelay="0" Filter="StartsWith" ItemsPerRequest="10"
            MarkFirstMatch="true" Skin="Outlook" EnableAutomaticLoadOnDemand="True" EmptyMessage="-New Menu-"
            ShowMoreResultsBox="True" OnSelectedIndexChanged="ddl_contactList_SelectedIndexChanged"
            EnableItemCaching="false" EnableLoadOnDemand="True" EnableVirtualScrolling="True">
        </telerik:RadComboBox>

我的 .cs :

 private void BindContactLists(int year, int main_code)
        {
            ddl_contactList.Items.Clear();
            DataTable dt = ContactList.GetContactListsByDep(year, main_code);
            ddl_contactList.DataSource = dt;
            ddl_contactList.DataTextField = "list_desc";
            ddl_contactList.DataValueField = "list_code";
            ddl_contactList.DataBind();

        }

我在page load 中调用它,因为当我在 !Page.Ispostback,我收到以下错误:

没有指定的数据源。无法完成回调请求。

我该如何解决这个问题?现在:

ddl_contactList.Text == "MySelectedItemText"

但是

selectedValue == ""selectedItem == ""

【问题讨论】:

  • 您能否也提供 ContactList 的类,或者至少提供来自 ContactList.GetContactListsByDep(year, main_code) 的示例返回?
  • 您能在此处发布更多代码吗?可能是整个加载事件?

标签: c# asp.net telerik selectedvalue radcombobox


【解决方案1】:

将您对BindContactLists() 的调用从Page_Load() 方法移至Page_Init() 方法。这允许在页面生命周期的后期为 ViewState 绑定设置控件,并允许正确填充 SelectedValue 属性。

【讨论】:

    【解决方案2】:

    这很正常,因为您重新绑定了数据 => 所以您删除了您选择的值

    我建议你在!IsPostBack 中设置你的块 => 发帖时不要擦除

    在页面加载中

    if(! IsPostBack)
    {
    
               ddl_contactList.Items.Clear();
                DataTable dt = ContactList.GetContactListsByDep(year, main_code);
                ddl_contactList.DataSource = dt;
                ddl_contactList.DataTextField = "list_desc";
                ddl_contactList.DataValueField = "list_code";
                ddl_contactList.DataBind();
    
    
    }
    

    然后您通过ViewState 保持您的控制权

    设置EnableViewState="true"

    【讨论】:

    • 我试试这个,但我得到以下错误:There is no assigned data source. Unable to complete callback request
    • 数据绑定控件不完全存储在 ViewState 中,当IsPostBack 为真时,控件不会被数据绑定。
    【解决方案3】:

    确保在页面加载或初始化触发时填充您的数据源(如数据集或数据表)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-23
      • 2017-01-31
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      相关资源
      最近更新 更多