2012-08-01 57 views
0

我有一個編輯頁面,我根據從數據庫返回的值設置了radcombobox(rcb_ParentCompany)的選定索引。但是,在回發時,組合框中的文本將不斷更改爲數據集中的頂層項目。任何想法爲什麼?radcombobox總是在回發中選擇頂部項目

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (IsPostBack) 
     { 
      BindOperatingNameComboBox(rcb_OperatingName); 
      BindParentCompanyComboBox(rcb_ParentCompany); 
     } 
    } 



protected void btn_Edit_Command(object sender, CommandEventArgs e) 
    { 
     Client ClientToEdit = ClientController.ViewClient(int.Parse(e.CommandArgument.ToString())); 

     //Populate Client fields 
     txt_ClientName.Text = ClientToEdit.ClientName; 
     rcb_OperatingName.Text = ClientToEdit.OperatingName; 
     int ParentCompanyIndex = rcb_ParentCompany.FindItemIndexByValue(ClientToEdit.ParentCompanyID.ToString()); 
     rcb_ParentCompany.SelectedIndex = ParentCompanyIndex; 
     txt_Address1.Text = ClientToEdit.Address1; 
     txt_Address2.Text = ClientToEdit.Address2; 
     txt_Country.Text = ClientToEdit.Country; 
     txt_Region.Text = ClientToEdit.Region; 
     txt_City.Text = ClientToEdit.City; 
     txt_PostalCode.Text = ClientToEdit.PostalCode; 
     txt_ClientNote.Text = ClientToEdit.ClientNote; 

     tbl_EditServices.Controls.Clear(); 
     PopulateEditClientPanel(ClientToEdit); 

     btn_SaveChanges.CommandArgument = e.CommandArgument.ToString(); 
     btn_Cancel.CommandArgument = e.CommandArgument.ToString(); 
    } 



protected void BindParentCompanyComboBox(RadComboBox ComboBox) 
    { 
     DataTable OperatingNames = ClientController.GetExistingClientAndOperatingNames(""); 
     ComboBox.DataTextField = "ClientName"; 
     ComboBox.DataValueField = "ClientID"; 
     ComboBox.DataSource = OperatingNames; 
     ComboBox.DataBind(); 
    } 



protected void rcb_ParentCompany_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e) 
    { 
     BindParentCompanyComboBox((sender as RadComboBox)); 
    } 

回答

1

任何想法爲什麼?

是的,因爲你正在做if(IsPostBack)而不是if(!IsPostBack)

+0

但組合框需要在每個回發到被綁定。否則,combobobox將是空的。 – cpiasecki 2012-08-01 18:16:41

+0

不,爲什麼?只要啓用了ViewState,它就應該保持該狀態。這裏不是這種情況嗎? – Icarus 2012-08-01 18:33:45

+0

我有viewstate啓用,但如果我拿走頁面加載內的綁定我得到錯誤,當我移動焦點以外的組合框「沒有分配的數據源。無法完成回調請求」 – cpiasecki 2012-08-01 18:45:43