11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


src="pagina2?'%#Eval("ID")%>'"

No. Non tirare a caso. Le espressioni di binding funzionano solo nel markup nella pagina aspx e in contesto di binding. Devi costruire il valore dell'attributo src dalla tua funzione btnSelCentro_Command.

Ecco un esempio. Non devi copiarlo e incollarlo tale e quale. Devi comprendere cosa fa e adattarlo alle tue esigenze.
protected void btnSelCentro_Command(object sender, CommandEventArgs e)
{
  //L'indice della riga lo recuperi dal CommandArgument, perché così l'hai predisposto tu
  var rowIndex = (int)e.CommandArgument;
  //Ottieno i valori dalle colonne
  var valoreColonna = (gridView1.Rows[rowIndex].DataItem as DataRowView)["NomeColonna"].ToString();
  var altroValoreColonna = (gridView1.Rows[rowIndex].DataItem as DataRowView)["AltraColonna"].ToString();
  //Li uso per costruire il valore dell'attributo src dell'iframe
  irm1.Attributes["src"] = "Enti_PopUp.aspx?valore=" + Server.UrlEncode(valoreColonna) + "&altroValore=" + Server.UrlEncode(altroValoreColonna);
  //Visualizzo il popup
  mp2.Show();
}


ciao,
Moreno
Modificato da BrightSoul il 25 luglio 2018 13.42 -

Enjoy learning and just keep making
110 messaggi dal 04 settembre 2010
Non lo capisco!
Se io l'src è nell iframe dello script, e nel codice che mi hai postato alla fine mi fai fare lo show, che se non sbaglio è un comando che apre il popup che si trova nella stessa pagina.
Io invece il popup lo creato in un altra pagina.

Faccio confusione?
11.886 messaggi dal 09 febbraio 2002
Contributi
Allora... ricapitoliamo.
Tu hai una GridView e in corrispondenza di ogni riga si trova un bottone che serve all'apertura di una popup. Dentro la popup si trova un iframe, che consente la visualizzazione di un'altra pagina che presenterà il dettaglio (o la modifica) dei dati relativi alla riga.

Se questa premessa è corretta, si realizza come segue:
  • Una pagina di elenco che contiene la GridView, il ModalPopupExtender e l'iframe;
  • Un'altra pagina di dettaglio che verrà visualizzata all'interno dell'iframe. Ovviamente questa pagina dovrà presentare solo il dettaglio dei dati e non tutti gli elementi di contorno, come il menu, l'header e il footer del sito.


Caso d'uso:
Dalla pagina di elenco, l'utente clicca il bottone in corrispondenza di una riga della GridView. Immediatamente si verifica un postback alla pagina stessa e, lato server, grazie alla funzione btnSelCentro_Command che gestisce il click sul bottone, viene impostato l'attributo src dell'iframe con un URL alla pagina di dettaglio avente in querystring i valori specifici della riga cliccata. Inoltre, viene disposta l'apertura della popup con il metodo .Show().

L'esecuzione di pagina termina, e l'utente vede aprirsi una popup. Dato che nella popup era presente un iframe, il browser invierà una richiesta alla pagina di dettaglio.

La pagina di dettaglio recupera i valori dalla querystring e visualizza opportunamente il dettaglio.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.