.net dropDownList在IE中回发后丢失值

我对dropDown的选定值有疑问。

代码工作得很好,除非我更改IE兼容模式,下拉不保留所选值并返回到第一项,我不能让它工作了。

当我在IIS中更改服务器,文件或配置上的内容时,一切正常,直到我再次更改兼容模式。

我已经尝试将所选值放在会话中以保持它但它不起作用。 我真的尝试了一切,提前谢谢。

这是asp代码:

  

这是背后的代码:

 protected void Page_Load(object sender, EventArgs e) { } protected void Page_PreRender(object sender, EventArgs e) { if (!Page.IsPostBack) { ddlFiltre.Items.Clear(); ddlFiltre.Items.Add(new ListItem(GetLibelle("item1"), "-1")); ddlFiltre.Items.Add(new ListItem(GetLibelle("item2"), "0")); ddlFiltre.Items.Add(new ListItem(GetLibelle("item3"), "1")); ddlFiltre.Items.Add(new ListItem(GetLibelle("item4"), "2")); GetPermission(); } else { ddlFiltre.SelectedValue = Session["ddl_index"].ToString(); } LoadPageControls(); } private void GetPermission() { } private void LoadPageControls() { if (LoggedUser != null) { if (ddlFiltre.SelectedValue == "-1") { // Load info in table } else { // Load other info in table } } } protected void ddlFiltre_SelectedIndexChanged(object sender, EventArgs e) { Session["ddl_index"] = ddlFiltre.SelectedValue; } 

是的,这是一个骨头错误。 回发失败。

阅读本文和本文以获得修复。