我通过DropDownList选择主题,由于当OnPreInit(EventArgs s)执行完后,ddlTheme_SelectedIndexChanged(object sender, EventArgs e)迟迟才执行,导致选择的主题不能立即生效,只有刷新后才生效,怎样使我选择DropDownList后主题立即生效?前台代码
<asp:DropDownList ID="ddlTheme" runat="server" OnSelectedIndexChanged="ddlTheme_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Value"Default">默认主题</asp:ListItem>
<asp:ListItem Value="New">新主题</asp:ListItem>
</asp:DropDownList>后台代码
private static string theme = "Default";
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
this.Theme = theme;
}
protected void ddlTheme_SelectedIndexChanged(object sender, EventArgs e)
{
theme = ddlTheme.SelectedValue;
}
<asp:DropDownList ID="ddlTheme" runat="server" OnSelectedIndexChanged="ddlTheme_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Value"Default">默认主题</asp:ListItem>
<asp:ListItem Value="New">新主题</asp:ListItem>
</asp:DropDownList>后台代码
private static string theme = "Default";
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
this.Theme = theme;
}
protected void ddlTheme_SelectedIndexChanged(object sender, EventArgs e)
{
theme = ddlTheme.SelectedValue;
}
protected void ddlTheme_SelectedIndexChanged(object sender, EventArgs e)
{
theme = ddlTheme.SelectedValue;
repnose.redict("指向当前页面,将页面重定向一下");
}
{
}
试试
{
theme = ddlTheme.SelectedValue;
Response.Redirect("");
}
{
var a= this.Response.Cookies["theme"];
a.Value = this.DropDownList1.SelectedValue;
a.Expires = DateTime.MaxValue;
Response.Redirect(Request.RawUrl);
}