Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置值或SelectedIndex功能在AspxComboBox中不起作用_C#_Asp.net_Combobox_Devexpress - Fatal编程技术网

C# 设置值或SelectedIndex功能在AspxComboBox中不起作用

C# 设置值或SelectedIndex功能在AspxComboBox中不起作用,c#,asp.net,combobox,devexpress,C#,Asp.net,Combobox,Devexpress,在我的母版页中,我在aspx菜单项的模板标记中有一个aspx对话框,我可以在任何aspx页面上访问它,但当我尝试设置它的值或选择索引时,会更改而不更新 <dx:MenuItem> <Template> <dx:ASPxComboBox ID="CbalarmSelect" runat="server" AutoPostBack="true" ViewStateMode="Enabled" OnSelectedIndex

在我的母版页中,我在
aspx菜单
项的
模板
标记中有一个
aspx对话框
,我可以在任何
aspx
页面上访问它,但当我尝试设置它的值或选择索引时,会更改而不更新

<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>
出于测试目的,我将其可见性设置为false
combo.Visible=false但它是可见的均值集功能不工作

客户端脚本

将ClientInstanceName属性指定给ComboboxName以访问它的客户端,将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");

页面加载
事件期间,我试图设置
SelectedIndex
,但它不起作用。然后我将代码移动到
页面加载完成
事件中,它对我起作用

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  ;
}

我想用C设置它,因为我有另一个组合框,其中C必须像语言组合框,如果我选择英语,那么我将如何在所有页面上永久设置它?解决问题的关键是了解页面生命周期是如何工作的。页面代码始终在母版页代码之前运行,因此页面代码隐藏中的任何更改都将被母版页代码隐藏覆盖(如果存在)。如果您有主控代码,请在问题中显示它(包括与主控
ASPxComboBox
相关的方法)。母版页中没有与此
ASPxComboBox
相关的代码,仅在其更改事件中我使用此项检查其所选索引@tetsuyayayamamoto
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  ;
}