Влияет ли MembershipProviders в ASP.net MVC на ссылки таблиц стилей?
-
03-07-2019 - |
Вопрос
Я изменил MembershipProvider на своем веб-сайте ASP.net MVC, и теперь на таблицу стилей для страницы входа неправильно ссылаются. Ниже приведена копия тега формы в моем файле web.config, если это может быть причиной. Он выглядит идентично тому, который был сгенерирован новым проектом, за исключением атрибута 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" />
Решение 2
Спасибо, Ян Оксли. Проблема не была решена с 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 при написании ссылки для вашего CSS:
<link href="<%= ResolveClientUrl("../../content/Site.css") %> rel="stylesheet" type="text/css" />