我正在设置我的ASP.NET站点,以便通过下拉列表动态切换主题。主题会随着每一个新的选择而改变,但主题与正确的选择不匹配。在我的App_Themes文件中,主题文件夹分别是:“蓝色”、“灰色”和“绿色”。对于每一个新的选择,新的应用主题都会按照这个顺序循环,不管我做了什么选择。
例如:当我第一次选择一个新的主题时,它将是蓝色的。第二次它将是灰色的。第三个是绿色,依此类推。
我做错了什么?
Default.aspx
<asp:DropDownList ID="ThemeList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ThemeList_SelectedIndexChanged">
<asp:ListItem Value="Blue">Blue Theme</asp:ListItem>
<asp:ListItem Value="Green">Green Theme</asp:ListItem>
<asp:ListItem Value="Gray">Gray Theme</asp:ListItem>
</asp:DropDownList>Default.aspx.cs
protected void ThemeList_SelectedIndexChanged(object sender, EventArgs e)
{
Session["theme"] = ThemeList.SelectedItem.Value;
}
protected void Page_PreInit(object sender, EventArgs e)
{
if(Session["theme"] == null)
{
Page.Theme = "Blue";
}
else
{
String chosenTheme = Session["theme"].ToString();
switch (chosenTheme)
{
case "Blue":
Page.Theme = "Blue";
break;
case "Green":
Page.Theme = "Green";
break;
case "Gray":
Page.Theme = "Gray";
break;
case "default":
Page.Theme = "Blue";
break;
}
}
}发布于 2016-04-20 04:18:31
https://stackoverflow.com/questions/36724342
复制相似问题