si potrebbe fare questo nel codebehind:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string pageid = "123";
MyLink.NavigateUrl = string.Format("../mypage.aspx?id={0}", pageid);
}
}
UPDATE:
Ora che @Marko Ivanovski mi ha segnalato nei commenti che il collegamento ipertestuale è all'interno di un GridView
, che non ho notato in principio il più facile sarebbe quella di utilizzare l'associazione dati (<%#
sintassi):
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink
id="MyLink"
NavigateUrl='<%# Eval("pageid", "~/mypage.aspx?id={0}") %>'
runat="server">
My Page
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
In questo caso pageid
è una proprietà dell'origine dati.
UPDATE 2:
Avete davvero bisogno di un controllo lato server? Che ne dite:
<a href="<%= this.ResolveUrl("~/mypage.aspx?id=" + pageid) %>">
My Page
</a>
fonte
2010-08-29 09:01:54
Ha accennato al fatto che il collegamento si trova all'interno di GridView :) – Marko
@ Marko, giusto, grazie per averlo indicato. Non ho letto attentamente la domanda :-) –
Nessun problema - +1 per una buona soluzione – Marko