Asp.Net es tremendamente ingenioso e intenta resolver el NavigateUrl
de un hipervínculo en relación con el control en el que se encuentra o relativo a la raíz de la aplicación si coloca ~/al inicio.¿Puedo especificar explícitamente NavigateUrl en un hipervínculo?
Pero tengo una situación en la que quiero establecer explícitamente la url en una ruta relativa y no quiero que me 'ayude' en absoluto.
La URL de navegación de hipervínculo y la propiedad href de HtmlAnchor muestran este comportamiento. ¿Es posible detener este comportamiento? ¿O tendré que generar el marcado a mano y no usar un control?
por ejemplo Tengo un control de usuario en la carpeta [appRoot]/foo/bar
que contiene asp:Hyperlinks
.
Uso el control en la página [appRoot]/myPage.aspx
. Quiero que la propiedad href
de los hipervínculos, cuando se represente, sea exactamente igual a 'donkey.gif'
.
Pero si escribo la siguiente
<asp:Hyperlink runat="server" NavigateUrl="donkey.gif" />
entonces el href prestado será 'foo/bar/donkey.gif'
.
Por razones complicadas que prefiero no entrar aquí, usar "~/donkey.gif" no es una opción. Además, no puedo usar ResolveUrl(string url)
para generar direcciones URL absolutas.
No tengo su pregunta con claridad, ¿puede indicarnos dónde intenta especificar el NavigateURL Explcitly? –
¿Cómo espera 'NavigateUrl =" donkey.gif "' resolver alguna vez 'images/donkey.gif'? ¿De dónde provienen las imágenes? –
@Dan Diplo - Mi error. La pregunta ha sido editada/corregida –