Pregunta

Tengo el siguiente control de imagen dentro de un repetidor. Estoy tratando de obtener el nombre de usuario para hacer en el medio ~ / profilepics / y .jpg pero me da el siguiente resultado representado

/profilepics/%3C%25#DataBinder.Eval (Container.DataItem,% 20% 22usernameFrom% 22)% 20% 25% 3E.jpg

Aquí es el margen de beneficio

<asp:Image ID="Image1" runat="server" ImageUrl='~/profilepics/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg' />

También he intentado lo mismo pero con comillas dobles y obtener el mismo resultado.

<asp:Image ID="Image1" runat="server" ImageUrl="~/profilepics/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg" />
¿Fue útil?

Solución

No va a funcionar de esta manera. La imagen WebControl no tomará tales marcas. El método común es usar evento ItemDataBound para asignar la fuente de imagen para cada control de imagen dentro de un elemento de repetidor.

Si desea utilizar esas marcas, no utilice WebControl, intente lo siguiente:

<img src='<%ResolveClientUrl("~/profilepics")%>/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg' />

Renuncia: No he probado el código anterior exacto pero el concepto debería trabajar

.

Otros consejos

No se puede utilizar la sintaxis de enlace de datos dentro de un control de servidor. ¿Has probado con una etiqueta HTML img formato en lugar?

<img src='/profilepics/<%#Eval("username") %>.jpg' />
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top