5

En casi todos los ejemplos de ASP.NET MVC que he encontrado, siempre veo Url.Content que se utiliza para hacer referencia a CSS, JavaScript e Imágenes. Ni una sola vez alguien ha explicado POR QUÉ usarlo.¿Por qué usar Url.Content para referenciar recursos?

¿Alguien quiere explicarlo?

¿Qué hay de malo en hacer:

<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

Aquí hay una buena explicación: http: //www.west-wind .com/weblog/posts/132081.aspx – DaveN

Respuesta

2

Lo que tiene el mismo efecto que Url.Content(). Url.Content() es igual que la adición de un ~ a estar empezando de sus caminos:

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

sólo asegura el camino es siempre correcta con el enrutamiento. También puede realizar un método de ayuda HTML para hacer esto más fácil:

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); 
     } 

A continuación, sólo se puede poner esto en su masterpage:

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