RadComboBox选中的值为空
当我点击我的按钮时,我得到SelectedValue = ""
。
我的aspx:
我的.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 == ""
将您的调用从Page_Load()
方法移动到BindContactLists()
到Page_Init()
方法。 这允许在页面生命周期的后期为ViewState绑定设置控件,并允许适当填充SelectedValue属性。
这是正常的,因为你重新绑定你的数据=>所以你擦除你选择的值
我建议你设置你的块!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"
在页面加载或初始化时确保您的数据源像数据集或数据表填充