Asp.net 从母版页更改主题

Asp.net 从母版页更改主题,asp.net,dynamic,master-pages,themes,Asp.net,Dynamic,Master Pages,Themes,我有一个母版页,它有两个图像按钮和两个内容页,我想要的是当单击图像按钮时-->主题会改变 我知道母版页没有“OnPreInit”函数,主题必须在“OnPreInit”函数中更改 那么这个问题有什么解决办法吗 提前谢谢 Baher以下是《用C#开始ASP.NET4和由Imar Spaanjaars编写的VB.Net》一书中使用的过程。请注意,在书中,他使用了下拉列表来改变主题,但我相信图像按钮也可以做到这一点: 在母版页中,向图像按钮添加代码,单击事件将主题名称保存到cookie中。设置cooki

我有一个母版页,它有两个图像按钮和两个内容页,我想要的是当单击图像按钮时-->主题会改变

我知道母版页没有“OnPreInit”函数,主题必须在“OnPreInit”函数中更改

那么这个问题有什么解决办法吗

提前谢谢


Baher

以下是《用C#开始ASP.NET4和由Imar Spaanjaars编写的VB.Net》一书中使用的过程。请注意,在书中,他使用了下拉列表来改变主题,但我相信图像按钮也可以做到这一点:

  • 在母版页中,向图像按钮添加代码,单击事件将主题名称保存到cookie中。设置cookie后,您将重定向回当前页面
  • 您将需要创建一个从Page类继承的自定义BasePage,并使您的所有页面都从该BasePage继承。在这个基本页面中,您将重写页面_PreInit以基于cookie的值加载所选主题。重定向是运行页面_PreInit中的代码以更改主题

  • 我知道这可能不是最好的选择,因为您需要更改所有页面以从新的BasePage继承,而不是从页面继承。

    我找到了解决方案,单击图像按钮,然后更改主题


    非常简单

    对不起,我只是想从母版页更改主题,我的所有页面都已从母版页继承。我需要做一些与我的主页相关的事情。谢谢。您不能从母版页更改主题。它必须从内容页完成。瓦利德描述的解决方案将自动化这项工作,引入一个特殊的页面控制器。这个问题也在ASP.NET上讨论:。如何解决?这一点帮助都没有!