33 votos

¿Cuál es la diferencia entre ResolveUrl y ResolveClientUrl?

He estado usando ResolveUrl para añadir CSS y Javascript en ASP.NET los archivos.

Pero por lo general se ve una opción de ResolveClientUrl. ¿Cuál es la diferencia entre ambos?

Cuando debo usar ResolveClientUrl?

44voto

Brandon Puntos 35624

ResolveUrl crea la dirección URL relativa a la raíz.

ResolveClientUrl crea la dirección URL relativa a la página actual.

También puede utilizar lo que uno desea, sin embargo ResolveUrl es más comúnmente utilizado.

15voto

LDawggie Puntos 31

He aquí un ejemplo simple:

//Returns: ../HomePage.aspx
String ClientURL = ResolveClientUrl("~/HomePage.aspx");

//Returns: /HomePage.aspx
String RegURL = ResolveUrl("~/HomePage.aspx");

//Returns: C:\inetpub\wwwroot\MyProject\HomePage.aspx
String ServerMappedPath = Server.MapPath("~/HomePage.aspx");

//Returns: ~/HomePage.aspx
String appRelVirtPath = AppRelativeVirtualPath;

//Returns: http://localhost:4913/
String baseUrl = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath;

//Returns: "http://localhost:4913/HomePage.aspx"
String absUri = Request.Url.AbsoluteUri;

Espero que esto ayude!

11voto

Juri Puntos 14330

De acuerdo a la documentación de MSDN:

ResolveClientUrl

Una dirección URL completa a la especificada de los recursos adecuados para su uso en el el navegador.

El uso de la ResolveClientUrl método para devolver una cadena de dirección URL conveniente para el uso por el cliente para acceder a los recursos de el servidor Web, tales como archivos de imagen, enlaces a páginas adicionales, y así sucesivamente.

ResolveUrl

Los convertidos URL.

Si el direcciónurlrelativa parámetro contiene una dirección URL absoluta, la dirección URL se devuelve sin cambios. Si el direcciónurlrelativa parámetro contiene una dirección URL relativa, que la URL ha cambiado a una dirección URL relativa que es la correcta para la solicitud actual camino, por lo que el navegador puede resolver la dirección URL.

Por ejemplo, considere el siguiente escenario:

Un cliente ha solicitado un ASP.NET página que contiene un control de usuario que tiene una imagen asociada.

El ASP.NET la página se encuentra en /Tienda/page1.aspx.

El control de usuario se encuentra en /Tienda/Controles/UC1.ascx.

El archivo de imagen se encuentra en /UserControls/Images/Image1.jpg.

Si el usuario pasa el control ruta de acceso relativa a la imagen (que es, /Store/UserControls/Images/Image1.jpg) a la ResolveUrl método, el método de devuelve el valor /Images/Image1.jpg.

Creo que esto lo explica bastante bien.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X