Passaggio di parametri in una select

giovedì 21 luglio 2011 - 12.31

netting Profilo | Junior Member

In pratica in una select effettuata tramite gridview nella clausola where devo passare il valore presente in una variabile.
Ma non sò come passare questa variabile nella select della gridview in quanto la gridview con la select è presente nella pagina infostage.aspx, mentre la variabile da passare alla select è presente nella pagina login.aspx.cs e si tratta comunque della valore che possiede la sessione in quel momento in quanto la variabile è quella che passo alla sessione.

Quindi devo passare il valore della sessione assunta in quel momento..

Gluck74 Profilo | Guru

non è che si capisce molto........!!!!!!!

Se il valore che ti serve sta in sessione (esempio Session["keyOfvalue"]), ci puoi accedere da qualsiasi pagina, quindi anche da quella che ha la griglia:

Se la query la costruisci da codice:
if (Session["keyOfvalue"] != null) string myVariabile = Session["keyOfvalue"].ToString(); SqlParameter myPar = .... ....

Se la query la costruisci in fase di progettazione con SqlDataSource:
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ... > <SelectParameters> <asp:SessionParameter Name="myParameterName" SessionField="keyOfvalue" Type="String" /> </SelectParameters> </asp:SqlDataSource>

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

DomA Profilo | Expert

nella pagina login.aspx potresti inserire un pulsante ed utilizzare PostBackUrl e poi in infostage utilizzare PreviousPage.FindControl per recuperare il valore dal controllo (es. textbox) contenuto nella pagina precedente.
Ciao
Domenico

netting Profilo | Junior Member

Allora questo è il codice:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1" Width="193px" Visible="False">
<Columns>
<asp:BoundField DataField="Utente" HeaderText="Utente"
SortExpression="Utente" />
<asp:BoundField DataField="Ore" HeaderText="Ore" SortExpression="Ore" />
<asp:BoundField DataField="Data" HeaderText="Data" SortExpression="Data" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorksConnectionString2 %>"


SelectCommand="SELECT Login.Utente, PresenzeStagisti.Ore, PresenzeStagisti.Data FROM Login INNER JOIN PresenzeStagisti ON Login.Utente = PresenzeStagisti.Utente WHERE (PresenzeStagisti.Utente= il valore della sessione attuale);
>
</asp:SqlDataSource>


Il valore che mi serve sta in sessione ma ovviamente io non sò qualè quindi non posso mettere un valore predefinito, il valore della sessione varia nel momento in cui si effettua il login.

Gluck74 Profilo | Guru

nella pagina di Login, quando l'utente si logga:
Session["NomeDiChiaveCheVuoi"] = IlValoreCheVuoiSalvare;

Il DataSource diventa quindi:
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:AdventureWorksConnectionString2 %>" SelectCommand="SELECT Login.Utente, PresenzeStagisti.Ore, PresenzeStagisti.Data FROM Login INNER JOIN PresenzeStagisti ON Login.Utente = PresenzeStagisti.Utente WHERE (PresenzeStagisti.Utente=@UtenteInSession);"> <SelectParameters> <asp:SessionParameter Name="UtenteInSession" SessionField="NomeDiChiaveCheVuoi" Type="String" /> </SelectParameters> </asp:SqlDataSource>

P.S.: ma a questi stagisti mica insegnate ASP.NET???????


____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

netting Profilo | Junior Member

purtroppo sono alle prime armi con asp.net, non è facile, ma dove cè scritto @utenteinsession cosa devo scriverci...?

netting Profilo | Junior Member

Sei un grande! :) FUNZIONA
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5