2009-09-23 9 views
7

Controles de servidor como Image.ImageUrl hacen que esto sea muy fácil, pero tratar de lograr lo mismo en código detrás de un control html IMG no es tan sencillo.Ruta relativa de una dirección de operador raíz ("~") en el código detrás de

Por ejemplo, utilizar un Asp: control del servidor de imágenes y configurar la propiedad ImageUrl en "~/Images/Test.jpg" funciona bien, sin importar en qué directorio coloque el código. (Asp.net transforma el directorio tilde en relativo)

¿Cómo puedo hacer lo mismo en el código? cuando estoy tratando de crear un control HTML IMG?

Respuesta

12

Use Page.ResolveUrl ("~/.....");

5

En la plantilla:

<img id="imgTest" runat="server" /> 

En el código subyacente:

imgTest.Attributes["src"] = this.ResolveUrl("~/yourimage.gif"); 

¿Este resolver su problema? No estoy seguro de por qué no está usando un control asp:image ...

+0

esto es bueno porque también funciona dentro de los controles de usuario –

Cuestiones relacionadas