>Salve a tutti,
Ciao!
>il mio problema credo sia abb. banale ma vorrei chiedervi il
>modo migliore per farlo:
>ho la pagina A che richiama la pagina B passandogli il valore
>della chiave primaria di un record come parametro in qs.
>La pagina B in base al valore passato ricava il record dal db,
>in questa pagina ho un SqlDataSource e devo passargli il valore
>di un altro campo di questo record.
>Come posso farlo?
Visto che riesci ad accedere al record, puoi prendere il valore del campo che ti serve e passare al SQLDataSource il parametro che avrai definito tramite la collection dei parametri <SelectParameters>. Inoltre puoi definire un evento per gestire il passaggio dati prima di eseguire la SELECT.
Ad esempio:
<asp:sqlDataSource ID="SQLDS1"
SelectCommand="SELECT * FROM Tabella WHERE ID = @ID"
ConnectionString="<%$ ConnectionStrings:MyConnection %>"
OnSelecting="Selecting_SQLDS1"
RunAt="server">
<SelectParameters>
<asp:Parameter Name="ID" Type="Int32" DefaultValue="0" />
</SelectParameters>
</asp:sqlDataSource>
poi nel codebehind:
protected void Selecting_SQLDS1(object sender, SqlDataSourceSelectingEventArgs e)
{
e.Command.Parameters["@ID"].Value = <campo letto dal tuo record>;
}
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org