我在ASP.net MVC网站上更改了MembershipProvider,现在登录页面的样式表没有被正确引用。下面是我的web.config中的forms标签的副本,如果这可能是原因。它看起来与新项目生成的名称相同,但名称和超时属性除外。
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" name=".ADAuthCookie" timeout="10" />
</authentication>
当我现在访问该页面时,CSS的链接标记如下所示:
<link href="../Content/Site.css" rel="stylesheet" type="text/css" />
当应该时:
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
答案 0 :(得分:1)
我自己还没有使用过ASP.NET MVC,但在为CSS写出href时可以尝试使用ResolveClientUrl:
<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />
答案 1 :(得分:0)
谢谢Ian Oxley。但是ResolveClientUrl没有解决问题。
它必须处理web.config文件。我的代码看起来像这样:
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
我在主要元素下面添加了一个位置元素,并说任何人都可以查看该内容,现在它可以正常工作。事实证明,像CSS文件之类的文件在获得授权之前是不可见的。现在已经修复了。
这是我添加的内容:
<location path="Content">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>