2016-12-12 21 views
-1

在我的母版頁,我有一個AspxComboBox在側ASPxMenu項目的Template標籤我能夠訪問任何aspx頁面上,但是當我試圖將其值設置或者的SelectedIndex然後改變不更新設定值或SelectedIndex的功能不能正常工作在AspxComboBox

<dx:MenuItem> 
      <Template> 
      <dx:ASPxComboBox ID="CbalarmSelect" runat="server" AutoPostBack="true" ViewStateMode="Enabled" OnSelectedIndexChanged="cbalarmselect_changed"> 
      <Items> 
       <dx:ListEditItem Text="Select Option" Selected="true" Value="0" /> 
       <dx:ListEditItem Text="Sample" Value="1" /> 
       <dx:ListEditItem Text="Demo" Value="2" /> 
      </Items> 
    </dx:ASPxComboBox> 
    </Template> 
</dx:MenuItem> 

C#代碼訪問此組合框

ASPxMenu item = (ASPxMenu)Master.FindControl("ASPxMenu1"); 
ASPxComboBox combo = (ASPxComboBox)item.Items.FindByName("AlarmSubscription").FindControl("CbalarmSelect"); 
combo.SelectedIndex =1 ; 

˚F或測試目的,我設置其知名度假combo.Visible = false;但它不能正常工作

+1

解決您的問題的關鍵是瞭解頁面生命週期如何工作。頁面代碼總是在主頁面代碼之前運行,因此,如果頁面代碼存在,則後面的頁面代碼中的任何更改都將被主代碼覆蓋。如果您有主代碼,請在您的問題中顯示(包括與Master的「ASPxComboBox」相關的方法)。 –

+0

沒有代碼在這個'ASPxComboBox'只有在它的變化事件相關的主頁面我正在使用它來檢查其選擇的索引@TetsuyaYamamoto –

回答

0

我試圖設置SelectedIndex期間Page_Load事件,它不工作。然後我在Page_LoadComplete前後移動我的代碼nt和它對我有用

void Page_LoadComplete(object sender, EventArgs e) 
{ 
       ASPxMenu item = (ASPxMenu)Master.FindControl("ASPxMenu1"); 
       ASPxComboBox combo =   (ASPxComboBox)item.Items.FindByName("AlarmSubscription").FindControl("CbalarmSelect"); 
       combo.SelectedIndex =1 ; 
} 
-1

客戶端腳本

給ClientInstanceName屬性comboBoxto訪問其客戶端和ID屬性爲cbxJobType訪問控制服務器端可見平均值設定功能。

// by text 
comboBox.SetText('Text #2'); 
// by value 
comboBox.SetValue('Value #2'); 
// by index 
comboBox.SetSelectedIndex(1); 

服務器端代碼

// by text 
cbalarmSelect.Text = "Text #2"; 
// by value 
cbalarmSelect.Value = "Value #2"; 
// by index 
cbalarmSelect.SelectedIndex = 1; 

此代碼工作太細:

cbalarmSelect.SelectedItem = cbalarmSelect.Items.FindByValue("Value #2"); 

ASPxComboBox , How to set selected item?

+0

我想設置它由C#,因爲我有另一個組合框,其中C#必須像語言組合框如果我選擇英文,那麼我將如何永久性地將其設置在所有頁面上? –