5

Neredeyse karşılaştığım tüm ASP.NET MVC örneklerinde, her zaman CSS, JavaScript ve Resimler'e başvurmak için kullanılan Url.Content'u görüyorum. Bir keresinde kimse WHY'yi kullanmayı açıklamamıştır.Neden kaynaklara başvurmak için Url.Content kullanıyorsunuz?

Açıklamak ister misiniz? yapıyor nesi kötü ne

: Ne var Url.Content aynı şekilde çalışır

<img src="/Content/Img/MyImage.png" alt="My Image" /> 
<script src="/Scripts/jquery.js" type="text/javascript"></script> 
<link href="/Content/Css/Default.css" rel="stylesheet" type="text/css" media="all" /> 
+0

İşte iyi bir açıklama verilmiştir: http: //www.west-wind .com/web günlüğü/mesaj/132081.aspx – DaveN

cevap

2

(). Url.Content() sadece ~ ekleyerek gibi yollarının başlangıcı olarak almaktadır:

<script src="~/Scripts/jquery.js" type="text/javascript"></script> 

Sadece yol her zaman yönlendirme doğru olmasını sağlar. Ayrıca yapmak için bir Html yardımcı yöntemi yapabilir bu daha kolay:

public static string RenderScript(this HtmlHelper htmlHelper, string file) { 
      var f = file.EndsWith(".js") ? file : string.Concat(file, ".js"); 
      return string.Format("<script src=\"/public/scripts/{0}\" type=\"text/javascript\"></script>", f); 
     } 

Sonra sadece masterpage bu koyabilirsiniz:

<%=Html.RenderScript("jquery")%>