Pregunta

Cuando la construcción de código como este:

<script type="text/javascript" src="<%=ResolveUrl("~/js/js.js")%>"></script>

o

<input type="image" src="<%=ResolveUrl("~/img/submit.png")%>" />

¿Debo usar Url.Content o ResolveUrl()? ¿Cuál es la diferencia?

¿Fue útil?

Solución

Si utiliza URL de IIS Reescribiendo dentro de su aplicación MVC, por ejemplo, internamente el tratamiento de http://yoursubdomain.example.com/MyController/MyAction como http://hosted.example.com/yoursubdomain/MyController/MyAction , Url.Content () generará una correcta enlace subdominio-relativo. ResolveUrl () generará un enlace incorrecto en esta situación.

Otros consejos

Url.Content es más MVCish ya que es el normal. ResolveUrl ha existido desde el principio de ASP.NET.

Yo prefiero capturar raíz del sitio en la variable local y reutilizarla

<% var siteroot = Url.Content("~/") %>

<script type="text/javascript" src="<%: siteroot %>Script/jquery-1.4.1.js"></script>
<script type="text/javascript" src="<%: siteroot %>Script/jquery.validate.js"></script>

Debe ahorrar unos cuantos ms:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top