首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET网站应用了错误的主题

ASP.NET网站应用了错误的主题
EN

Stack Overflow用户
提问于 2016-04-20 00:34:20
回答 1查看 28关注 0票数 0

我正在设置我的ASP.NET站点,以便通过下拉列表动态切换主题。主题会随着每一个新的选择而改变,但主题与正确的选择不匹配。在我的App_Themes文件中,主题文件夹分别是:“蓝色”、“灰色”和“绿色”。对于每一个新的选择,新的应用主题都会按照这个顺序循环,不管我做了什么选择。

例如:当我第一次选择一个新的主题时,它将是蓝色的。第二次它将是灰色的。第三个是绿色,依此类推。

我做错了什么?

Default.aspx

代码语言:javascript
复制
<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

代码语言:javascript
复制
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;
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-04-20 04:18:31

以下是您尝试实现的good example

answer可以让您了解后台代码如何处理由动态控件(在本例中为下拉列表)生成的回发。

page提供了几种编程主题和动态更改主题的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36724342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档