2012-03-16 20 views
9

में स्थित एक सीएसएस फ़ाइल का संदर्भ देना मैंने अपने एमवीसी समाधान में "एडमिन" नामक एक क्षेत्र बनाया है। इस क्षेत्र में मैंने अपनी सीएसएस फ़ाइलों को स्टोर करने के लिए "सामग्री" नामक एक फ़ोल्डर बनाया है।क्षेत्र

मैं (cshtml) इस तरह की दृष्टि से मेरी सीएसएस फ़ाइल (MaterialPacking.css) की पर संदर्भ के लिए प्रयास करें:

enter image description here

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

यह अच्छा तरीका है?

धन्यवाद।

+0

आप separaete टैब में दृश्य स्रोत से सीएसएस के लिंक पते पर जाएं और देखें कि त्रुटि यह – archil

+1

इस का जवाब यहां गया था देता है की कोशिश करनी चाहिए। यह बाहर की जाँच http://stackoverflow.com/questions/7495780/mvc-3-wont-serve-content-files-from-areas-subfolder – Jay

+0

करता है '@ Url.Content (" ~/सामग्री/MaterialPacking .css ") 'काम? – jrummell

उत्तर

4

वास्तव में यह करने के लिए एक ही रास्ता है कि, जब तक आप क्षेत्र फ़ोल्डर

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" /> 
संबंधित मुद्दे