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>