usted puede hacer esto en el código subyacente:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string pageid = "123";
MyLink.NavigateUrl = string.Format("../mypage.aspx?id={0}", pageid);
}
}
ACTUALIZACIÓN:
Ahora que @Marko Ivanovski me señaló en los comentarios que este hipervínculo está dentro de un GridView
, que no me di cuenta en un principio el más fácil sería utilizar el enlace de datos (<%#
sintaxis):
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink
id="MyLink"
NavigateUrl='<%# Eval("pageid", "~/mypage.aspx?id={0}") %>'
runat="server">
My Page
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
En este caso, pageid
es una propiedad de la fuente de datos.
ACTUALIZACIÓN 2:
lo que realmente necesita un control del lado del servidor? ¿Qué tal:
<a href="<%= this.ResolveUrl("~/mypage.aspx?id=" + pageid) %>">
My Page
</a>
Menciona que el enlace está dentro de un GridView :) – Marko
@Marko, a la derecha, gracias por señalar esto. No leí la pregunta con cuidado :-) –
Sin problemas - +1 para una buena solución – Marko