ciao, il metodo classico che ha suggerito pietro funziona sempre.
Si tratta semplicemente di applicare le semplicissime regole del web al contesto di una gridview.
Ogni pulsante eseguirà un semplice window.open, aprendo la nuova pagina ed avendo, questa volta, il parametro (ID) in querystring.
(domanda per pietro: esiste la funzione format in javascript come hai usato tu?)
codice:
function apri_pagina(id_riga)
{
window.open('Nuova_pagina.aspx?id=' + id_riga, 'popup','width=800px,height=600px,top=100px,left=100px');
}
Altra soluzione è invece l'utilizzo del meccanismo di CrossPage PostBack messo a disposizione con ASP.NET.
si può dunque creare un linkButton impostando il postbackurl, ma con l'accortezza di modificare il target del form, in modo da aprire una nuova finestra, e poi ripristinare il tutto.
ecco il codice:
codice:
<asp:LinkButton Text="Click to open" runat="server" PostBackUrl="~/Pagine/receivePostBack.aspx"
ID="lnkNewTarget" CommandArgument="5" OnClientClick="javascript:gotoNewWindows('_blank');" />
codice:
<script type="text/javascript">
function gotoNewWindows(target)
{
var Old_action = document.forms[0].action;
var Old_target = document.forms[0].target;
document.forms[0].target = target;
window.setTimeout(
'document.forms[0].target=\'' + Old_target + '\';document.forms[0].action=\'' + Old_action + '\'',
200
);
}
</script>
Nella pagina che riceve il postback:
codice:
protected void Page_Load(object sender, EventArgs e)
{
string argument = string.Empty;
LinkButton lnkNewTarget = PreviousPage.FindControl("lnkNewTarget") as LinkButton;
if (lnkNewTarget != null)
argument = lnkNewTarget.CommandArgument;
}
ciao