我有这个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";
}
}
但即使我可以看到断点,它从代码隐藏设置正确的值,应用程序中的组合框也不会改变
答案 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")
}