EXT:C# 组合框从代码隐藏设置值



我有这个组合框:

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

代码隐藏中的 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";
            }
        }

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

使用 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") 
}

最新更新