我对dropDown的选定值有疑问。
代码工作得很好,除非我改变IE兼容模式,下拉不保留所选值并返回第一项,我不能再使它工作了。
当我更改IIS中的服务器,文件或配置时,一切正常,直到我再次更改兼容模式。
我已经尝试将所选值放在会话中以保留它但它不起作用。我真的尝试了一切,提前谢谢。
这是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;
}