我正在使用ASP.NET MVC3实现一个Web应用程序。在应用程序中,我想添加基于单击某些链接在CSS文件(主题)之间切换的选项。我做了一些研究,我想出了以下内容:
script src =“<%:Url.Content(”〜/ Scripts / jquery-1.5.1.min.js“)%>”类型= “文本/ JavaScript的”
所以我使用以下方法创建了一个抽象控制器ApplicationController:
public ApplicationController()
{ViewBag.NewMessage = "../../Content/Site2.css";}
在site.master中,我包含了这个链接:
<link href="<%: (string) ViewBag.NewMessage %>" rel="stylesheet" type="text/css" />
然而,这似乎不起作用,因为它被解释为:
<link href="<%: (string) ViewBag.NewMessage %>" rel="stylesheet" type="text/css" />
仅当我删除引号时:
<link href=<%: (string) ViewBag.NewMessage %> rel="stylesheet" type="text/css" />
是否正确解释(并且网页使用正确的css呈现),除了它违反了html标准:
<link href=../../Content/Site2.css rel="stylesheet" type="text/css" />
有关如何解决这个问题的任何建议,还是有一个更优雅的解决方案,我错过了?我将继续并在ApplicationController中实现变量,这些变量根据用户在页面顶部点击的链接进行选择,以便在CSS样式之间切换。
谢谢!
答案 0 :(得分:2)
检查以确保您的<head>
代码没有runat="server"
。
进行此更改后,请务必检查脚本和css标记。如果您使用~/
来修改应用根,则此更改可能会破坏路径。要解决此问题,请使用Url.Content(...)
帮助程序。