【问题标题】:Do MembershipProviders in ASP.net MVC affect stylesheet links?ASP.net MVC 中的 MembershipProviders 会影响样式表链接吗?
【发布时间】:2010-09-15 02:08:05
【问题描述】:

我在我的 ASP.net MVC 网站中更改了 MembershipProvider,现在登录页面的样式表没有被正确引用。如果这可能是原因,下面是我的 web.config 中表单标签的副本。除了名称和超时属性之外,它看起来与新项目生成的相同。

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

【问题讨论】:

    标签: css asp.net-mvc href membership-provider


    【解决方案1】:

    感谢伊恩·奥克斯利。不过,ResolveClientUrl 并没有解决这个问题。

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

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

    我在主要元素下方添加了一个位置元素,并表示任何人都可以查看该内容,并且现在可以使用。事实证明,像 CSS 文件这样的文件在获得授权之前是无法查看的。现在已经解决了。

    这是我添加的:

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

    【讨论】:

      【解决方案2】:

      我自己还没有使用过 ASP.NET MVC,但您可以在为 CSS 编写 href 时尝试使用 ResolveClientUrl

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

      【讨论】:

      • 我没有意识到这个东西开始存在于 .NET 2.0 中。很有用!谢谢。
      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      相关资源
      最近更新 更多