tutorial sintaxis que mvc español asp.net hyperlink declarative

asp.net - sintaxis - Problema al asignar valores declarativos en asp: hipervínculo. error: esto no es scriptlet. saldrá como texto sin formato



razor mvc (4)

Estoy tratando de hacer esto:

<asp:HyperLink NavigateUrl=''<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>'' runat="server" Text=''<%= GetProfileImage(WebContext.CurrentUser.AccountId) %>''></asp:HyperLink>

Pero estoy recibiendo el error:

esto no es scriptlet. saldrá como texto sin formato.

cuando el mouse sobre mis declaraciones declarativas.

¿Algunas ideas? Gracias.


Aún puede rellenar un <asp: HyperLink> si proporciona las propiedades ID y runat = "server" . A continuación, puede establecer cualquier propiedad de HyperLink desde el código subyacente.

Código ASP:

<asp:HyperLink ID="myLink" runat="server"/>

Código detrás:

public void Page_Init() { myLink.NavigateURL = WebContext.RootUrl + WebContext.CurrentUser.UserName; myLink.Text = GetProfileImage(WebContext.CurrentUser.AccountId); }


No puede usar <%= ... %> literales para establecer las propiedades de los controles del lado del servidor.

En su lugar, puede usar una etiqueta normal (del lado del cliente) <a> , como esta:

<a href="<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>"><%= GetProfileImage(WebContext.CurrentUser.AccountId) %></a>

Si GetProfileImage no devuelve etiquetas HTML, asegúrese de escapar de él.


Puede utilizar la sintaxis de enlace de datos <%# %> . Solo asegúrese de que su hipervínculo esté en un control de base de datos, como una plantilla de elemento ListView, o que llame explícitamente a DataBind() en el control desde el código subyacente.


<a href=''<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>''><%= GetProfileImage(WebContext.CurrentUser.AccountId) %></a>