我在我的MVC解决方案中创建了一个名为“Admin”的区域。在这个区域,我创建了一个名为“Content”的文件夹来存储我的css文件。
我尝试从视图(cshtml)中引用我的css文件(MaterialPacking.css),如下所示:
<link href="@Url.Content("~/Areas/Admin/Content/MaterialPacking.css")" rel="stylesheet" type="text/css" />
这是好方法吗?
感谢。
答案 0 :(得分:5)
除非你创建一个路由处理程序从区域文件夹中获取它,否则这是唯一的方法
答案 1 :(得分:3)
您可以创建一个类,例如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" />
答案 2 :(得分:0)
您可以尝试从wwwroot使用样式
<link href="~/css/yourstyle.css" rel="stylesheet" type="text/css" />
它适用于ASP.NET Core 2