我有两个页面,我们称它们为“receipts.com”和“business.receipts.com”。两者都通过 Response.Redirect("http://receipts2.com/default.aspx?mode=") 链接到不同域上的页面 其中“mode”参数是引用页面。
接收页面应查看查询字符串,并根据“模式”参数选择不同的 CSS 类。
这是如何实现的?这是正确的做法吗?
最佳答案
您可以使用相同的类和不同的样式表,而不是交换类名。 有两种处理样式表的方法:客户端和服务器端。
在客户端,您可以parse the query string并使用以下方法禁用样式表:(document.getElementsByTagName("link")[i]).disabled = true;
在服务器端,你可以使用themes或者简单地在样式声明周围添加一个占位符,并使用查看 Response.QueryString["mode"]
的代码隐藏显示/隐藏它们:
<asp:PlaceHolder ID="placeHolder1" runat="server" Visible="false">
<link rel="stylesheet" href="/alternate.css" media="all" />
</asp:PlaceHolder>
以及母版页中某处的代码:
if(Response.QueryString["mode"] == "blah")
{
placeHolder1.Visible = true;
}
关于c# - 在加载时以编程方式更改 CSS 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9496104/