在运行时更改 CSS 文件(主题)(ASP.NET)
我想更改 ASP.NET Web 应用程序运行时使用的 CSS 文件。
假设我有 2 个 CSS 文件,red.css
和 blue.css
。
我尝试了以下方法:
在我的母版页中,我有以下链接:
在母版页Page_Load:
Styles.Href = Global.CSSPath;
Global.asax:
public static string CSSPath =“red.css”;
(假设其位于同一文件夹中)
这种方法有效。当然,我可以轻松地实现一些功能来更改 CSSPath 的值并将其设置为 blue.css 或其他任何内容 - 现在我想知道这是否只影响一个用户或使用我的 Web 应用程序的每个用户。
如果它只影响一位用户:太好了,谢谢!如果没有:我应该做什么才能实现在运行时为特定用户/会话更改主题?
谢谢,
丹尼斯
I'd like to change the CSS File that's being used at runtime of my ASP.NET Web Application.
Let's say I've got 2 CSS Files, red.css
and blue.css
.
I've tried the following approach:
In my Master Page, I've got the following link:
<link rel="Stylesheet" ID="Styles" runat="server"/>
In the Master Pages Page_Load:
Styles.Href = Global.CSSPath;
Global.asax:
public static string CSSPath = "red.css";
(assuming its in the same folder)
This approach works. And of course I could easily implement some functionality to change the value of CSSPath and make it blue.css or whatever - now I'd like to know whether this only affects one user or everyone using my web application.
If it only affects one user: Great, thanks! If it doesn't: What should I do to achieve being able to change themes at runtime for a specific user/session?
Thanks,
Dennis
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当您从静态(全局)变量读取值时,它将影响所有用户。
要在运行时更改主题,您可以像现在一样在服务器端执行此操作,但您需要获取用户特定值(可能来自会话)。
It will affect all users as you're reading the value from a static (global) variable.
For changing the theme at runtime you can do it server-side as you are now but you need to pick up the user specific value, maybe from Session.
尝试在您的
html
中添加类似的内容try adding something like this in your
html