EXT:来自Codebehind的C#组合框设定值

时间:2017-03-24 09:33:22

标签: c# extjs combobox

我有这个Combobox:

<ext:ComboBox runat="server" ID="cmbEmailVer"  FieldLabel="Email verification"  Width="420" ForceSelection="true" EmptyText="Select a value..." OnDirectChange="cmbEmailVer_DirectChange" OnLoad="cmbEmailVer_Load" >
     <Items>
           <ext:ListItem Text="Yes" Value="1" />
           <ext:ListItem Text="No" Value="0" />
     </Items>
</ext:ComboBox>

Codebehind中的OnLoad功能:

protected void cmbEmailVer_Load(object sender, EventArgs e)
        {
            DAL.DataContext cud = new DAL.DataContext();

            var em = (from p in cud.CTs where p.id == ctid select p).FirstOrDefault();

            if (em != null)
            {
                cmbEmailVer.SelectedItem.Value = (em.login_verify_email ? 1 : 0).ToString();
            }
            else
            {
                cmbEmailVer.SelectedItem.Value = "1";
            }
        }

但即使我可以看到断点,它从代码隐藏设置正确的值,应用程序中的组合框也不会改变

1 个答案:

答案 0 :(得分:0)

使用SelectedIndex

if (em != null)
{
   string s = (em.login_verify_email ? 1 : 0).ToString();
   cmbEmailVer.SelectedIndex = cmbEmailVer.Items.IndexOf(s); 
}
else
{
   cmbEmailVer.SelectedIndex = cmbEmailVer.Items.IndexOf("1") 
}