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

本文关键字:失去 dropDownList IE net | 更新日期: 2023-09-27 18:34:03

我对下拉列表的选定值有问题。

代码工作正常,除了当我更改IE兼容模式时,下拉列表不保留所选值并返回到第一项,我无法再使其工作。

当我在 IIS 中更改服务器、文件或配置上的某些内容时,一切都运行良好,直到我再次更改 de 兼容模式。

我尝试将所选值放入会话中以保留它,但它不起作用。我真的什么都试过了,提前谢谢。

这是ASP代码:

  <asp:DropDownList ID="ddlFiltre" runat="server" AutoPostBack="True" EnableViewState="true" Width="100%" OnSelectedIndexChanged="ddlFiltre_SelectedIndexChanged">
                </asp:DropDownList>

下面是背后的代码:

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

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

是的,这是一个真正的错误。 回发失败。

阅读此文章和本文以获取修复。