ASP.net MVC中的MembershipProviders是否会影响样式表链接?

时间:2020-03-06 15:04:37  来源:igfitidea点击:

我在ASP.net MVC网站中更改了MembershipProvider,现在登录页面的样式表未正确引用。如果可能的话,下面是我的web.config中的forms标记的副本。它看起来与新项目生成的项目相同,但name和timeout属性除外。

<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" />

解决方案

我本人还没有使用过ASP.NET MVC,但是在为CSS编写href时,我们可以尝试使用ResolveClientUrl:

<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />

谢谢伊恩·奥克斯利(Ian Oxley)。不过,ResolveClientUrl并没有解决问题。

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

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

我在主要元素下面添加了一个location元素,并说任何人都可以查看该内容,并且现在可以使用。事实证明,只有在获得授权之前,才能查看CSS文件之类的文件。现在是固定的。

这是我添加的内容:

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