Ссылка на файл CSS, расположенный в области - PullRequest
10 голосов
/ 16 марта 2012

Я создал область в своем решении MVC под названием «Администратор». В этой области я создал папку с именем «Content» для хранения моих css-файлов.

Я пытаюсь сослаться на мой css-файл (MaterialPacking.css) из представления (cshtml) следующим образом:

enter image description here

<link href="@Url.Content("~/Areas/Admin/Content/MaterialPacking.css")" rel="stylesheet" type="text/css" />

Это хороший способ?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 16 марта 2012

это действительно единственный способ сделать это, если только вы не создадите маршрутизируемый обработчик для извлечения его из папки области

3 голосов
/ 11 февраля 2014

Вы создаете класс, например, ConentUrlHelper.cs

namespace CrewNetix.helper
{
    public static class ContentUrlHelper
    { 
        public static string ContentArea(this UrlHelper url, string path)
        { 
            var modulName = url.RequestContext.RouteData.DataTokens["area"];
            string modulContentLoad = "";

            if (modulName != null)

            {
                if (!string.IsNullOrEmpty(modulName.ToString()))
                    modulContentLoad = "Areas/" + modulName;

                if (path.StartsWith("~/"))
                    path = path.Remove(0, 2);

                if (path.StartsWith("/"))
                    path = path.Remove(0, 1);


                path = path.Replace("../", string.Empty);

                return VirtualPathUtility.ToAbsolute("~/" + modulContentLoad + "/" + path);
            }

            return string.Empty;
        }

    }
}

И таким образом вы можете получить доступ к файлам:

<script src="@Url.ContentArea("Script/PageLoad.js")" ></script>
<script src="@Url.ContentArea("Script/jquery-1.9.1.min.js")" ></script>
<script src="@Url.ContentArea("Script/kendo.all.min.js")" ></script>
<script src="@Url.ContentArea("Script/kendo.web.min.js")" ></script>
<link href="@Url.ContentArea("Content/Css/kendo.common.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.ContentArea("Content/Css/kendo.default.min.css")" rel="stylesheet" type="text/css" />
0 голосов
/ 26 июня 2018

Вы можете попробовать использовать стиль с wwwroot

<link href="~/css/yourstyle.css" rel="stylesheet" type="text/css" />

Это работа для ASP.NET Core 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...