質問

ASP.net MVC Webサイトの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" />
役に立ちましたか?

解決 2

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>

他のヒント

ASP.NET MVCをまだ使用していませんが、 ResolveClientUrl を使用してCSSのhrefを書き出します。

<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top