radcombobox控件选择的值是空(RadComboBox selected value is

2019-09-23 02:02发布

我得到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 == ""

Answer 1:

将您的调用BindContactLists()Page_Load()方法将Page_Init()方法。 这允许控制是设置为ViewState的页面生命周期后绑定,并允许SelectedValue属性的适当的人口。



Answer 2:

这是正常的,因为你,让你删除你选择的值重新绑定您的DATAS =>

我建议您设置块!IsPostBack =>当你发布你不删除

在pageLoad的

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"



Answer 3:

请确保您的数据源像数据集或数据表填写时,页面加载或init火



文章来源: RadComboBox selected value is empty