我正在设置我的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;
}
}
}
答案 0 :(得分:0)