我在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" />
有帮助吗?

解决方案 2

谢谢Ian Oxley。但是ResolveClientUrl没有解决问题。

它必须处理web.config文件。我的代码看起来像这样:

<authorization>
  <deny users="?" />
  <allow users="*" />
</authorization>

我在主要元素下面添加了一个位置元素,并说任何人都可以查看该内容,现在它可以正常工作。事实证明,像CSS文件之类的文件在获得授权之前是不可见的。现在已经修复了。

这是我添加的内容:

<location path="Content">
   <system.web>
      <authorization>
         <allow users="*" />
      </authorization>
   </system.web>
</location>

其他提示

我自己还没有使用ASP.NET MVC,但您可以尝试使用 ResolveClientUrl

<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top