Problema passaggio dati fra due pagine aspNet

venerdì 15 febbraio 2013 - 12.35
Tag Elenco Tags  C#  |  .NET 1.0  |  .NET 1.1  |  .NET 2.0  |  .NET 3.0  |  .NET 3.5  |  .NET 4.0

gaetanorusso Profilo | Junior Member

Salve,
vorrei spiegarvi il mio problema ( che da 3 giorni non riesco a risolvere):
ho una gridview collegata ad un db, al suo interno ho inserito una colonna "Edit" e quando ci clicco sopra dovrei riportare tutti i dati di quella determinata riga all'interno di una nuova pagina aspnet mostrando i valoori all'intero delle textbox


purtroppo non riesco a capire come fare

il linguaggio è c#

grazie mille
gaetano russo

nico839 Profilo | Senior Member

ciao, la cosa più semplice che mi viene in mente è, una volta premuto il tasto edit, chiamare la tuapagina.aspx?id=identificativoriga.
fatto ciò, nella load della pagina , con :

Int identificativoriga = Request.QueryString["id"];

e da li ti leggi i dati dal db con identificativoriga e ti compili le textbox....
Ciao.
Nicolas

gaetanorusso Profilo | Junior Member

l'ho provato ma non va sembra che la seconda pagina quella di destinazione non veda i valori passati
gaetano russo

nico839 Profilo | Senior Member

1- hai provato in debug che succede?
2- posta il codice per chiamare la pagina e il codice nella pagina chiamata...
Ciao.
Nicolas

gaetanorusso Profilo | Junior Member

ecco il codice


Pagina 1:"Mittente"
int id = int.Parse(GridView1.Rows[e.NewEditIndex].Cells[1].Text); // prendo il valore da una gridview

Response.Redirect("Modifica.aspx?id=" + id);// provo a passarlo alla seconda pagina


Pagina 2: Destinatario
int prova= int.Parse(Request.QueryString["id"]);// provo a prendere il valore
txtNome.Text = prova.ToString(); // assegna il valore ad una textbox



gaetano russo

nico839 Profilo | Senior Member

in debug controlla che valore c'è in :

int id = int.Parse(GridView1.Rows[e.NewEditIndex].Cells[1].Text);

questo codice in quale evento lo hai inserito?
Ciao.
Nicolas

gaetanorusso Profilo | Junior Member

il valore che mi restituisce è quello giusto ed anke quando mi viene mostrato il link è giusto (http://localhost:13514/Clienti/Modifica.aspx?id=4)

questo è l'evento:OnRowEditing="TaskGridView_RowEditing"
gaetano russo

nico839 Profilo | Senior Member

Mi sembra strano.Da me funziona, ti ho allegato un progettino di esempio, guarda se ti può aiutare.
Ciao.
Nicolas

matteoct Profilo | Junior Member

Perchè non utilizzi postback?

Nel gridview potresti inserire un linkbutton/button con: postbackurl="tuapagina.aspx" e CommandName="select"
ad esempio:
<asp:Button ID="Button4" runat="server" PostBackUrl="./crea_eventi.aspx?opz=1" CommandName="select" Text="Dettagli" />

Nella pagina che dovresti visualizzare i dati, ti ricavi l'id del record selezionato nel gridview in questo modo:
Se hai una masterpage:
Dim grid As GridView = CType(Page.PreviousPage.Master.FindControl("MainContent").FindControl("GridView1"), GridView)

altrimenti:
Dim grid As GridView = CType(Page.PreviousPage.FindControl("GridView1"), GridView)

da qui in poi ti ricavi l'id del record, es:

Dim id = grid.SelectedValue

una volta che hai l'id del record selezionato, puoi ricavarti tutte le informazioni che vuoi e puoi ricaricare i dati in un detailsview in modalità edit

saluti




Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5