Question

Lorsque le code du bâtiment comme celui-ci:

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

ou

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

Dois-je utiliser Url.Content ou ResolveUrl()? Quelle est la différence?

Était-ce utile?

La solution

Si vous utilisez URL IIS Réécriture dans votre application MVC, par exemple le traitement interne http://yoursubdomain.example.com/MyController/MyAction comme http://hosted.example.com/yoursubdomain/MyController/MyAction , Url.Content () va générer un correct liaison du sous-domaine-parent. ResolveUrl () va générer un lien incorrect dans cette situation.

Autres conseils

Url.Content est plus MVCish comme il est normal. ResolveUrl a été autour depuis le début d'ASP.NET.

Je préfère saisir la racine du site dans la variable locale et le réutiliser

<% 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>

Il faut sauver quelques ms:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top