73 messaggi dal 02 agosto 2007
Ciao, ho già scritto un post simile a questo, ma ora ho risolto una cosa e quindi il focus è un altro.
Il problema è che non riesco a scrivere (sintatticamente) una query parametrica. Devo risalire al nome azienda associato all'utente loggato in quel momento e scriverlo in una ListBox. Solo che mi restituisce solo la ListBob vuota! (se invece provo con un nome utente, funziona! es. 'roberto')
Dopo un bel po di tempo sono riuscito a trovare il nome utente grazie a 'HttpContext.Current.User.Identity.Name' (invece prima scrivevo solo 'User.Identity.Name' e non andava...argghhhhh!!).

Questo avviene grazie a questo codice:
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
string userName = HttpContext.Current.User.Identity.Name;
Label3.Text = "Il tuo nome è (preso da User.Identity.Name): " + userName;
}
</script>


invece nel body:

<body>

<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label><br />
// qui faccio stampare a video il nome loggato per conferma

<form runat="server">
<asp:ListBox ID="ListBox1" runat="server" DataSourceID="SqlDataSource2"
DataTextField="azienda_name" DataValueField="azienda_name" AutoPostBack="True"></asp:ListBox>
//qui ho creato la ListBox associata a sqldatasource2

<asp:SqlDataSource
ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:securejobConnectionString %>"
SelectCommand="SELECT DISTINCT azienda.azienda_name FROM aspnet_Users INNER JOIN UsersInAzienda ON aspnet_Users.UserId = UsersInAzienda.UserId INNER JOIN azienda ON UsersInAzienda.azienda_id = azienda.azienda_id WHERE (aspnet_Users.UserName = @userName)">
//questa è la query in questione


<SelectParameters>
<asp:ControlParameter ControlID="Label3" DefaultValue="Label3.Text" Name="userName"
PropertyName="Text" />
</SelectParameters>
//questo selectparameters non è obbligatorio. Ho anche provato a eliminarlo ma niente... e mi sembra che voglia il controllo associato al parametro userName

</asp:SqlDataSource>
</form>
</body>



grazie per le risposte!!!!!
Modificato da skater il 09 ottobre 2007 16.11 -
scusa ma il Label3 hai il nome utente preceduto da "Il tuo nome è" in questo caso mi sembra normale che la query non visualizzi nulla

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
73 messaggi dal 02 agosto 2007
si, label3 funziona correttamente dandomi in uscita: "il tuo nome è: Daniele". In effetti non ho riportato correttamente il codice che ha anche questa riga:

<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
//che richiama quindi il text di sopra.

Cmq la label l'ho fatta solo per vedere il corretto funzionamento di HttpContext.Current.User.Identity.Name.
Invece nella listBox non compare nulla.

...perchè ???
Modificato da skater il 09 ottobre 2007 17.57 -
426 messaggi dal 17 aprile 2006
skater ha scritto:
si, label3 funziona correttamente dandomi in uscita: "il tuo nome è: Daniele".


scusa ma leggi meglio quello che ti ha scritto Nostromo.
in pratica la tua select diventa:
SELECT DISTINCT azienda.azienda_name FROM aspnet_Users INNER JOIN UsersInAzienda ON aspnet_Users.UserId = UsersInAzienda.UserId INNER JOIN azienda ON UsersInAzienda.azienda_id = azienda.azienda_id WHERE (aspnet_Users.UserName = 'il tuo nome è: Daniele')

crea un <asp:HiddenField runat=server ID="hidNomeUtente" >
nel sqldatasource metti nel selectparameters
<SelectParameters>
<asp:ControlParameter ControlID="hidNomeUtente" DefaultValue="" Name="userName"
PropertyName="Value" />
</SelectParameters>
nel codice
void Page_Load(object sender, EventArgs e)
{
string userName = HttpContext.Current.User.Identity.Name;
Label3.Text = "Il tuo nome è (preso da User.Identity.Name): " + userName;
hidNomeUtente.Value = userName;
}

Ciao Alessandro
Grazie Alessandro, come diceva Totò la parola conduce ma l'esempio trascina

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
73 messaggi dal 02 agosto 2007
grande !! si ok!! ho capito... grazie mille!!!!!
426 messaggi dal 17 aprile 2006
nostromo ha scritto:
come diceva Totò la parola conduce ma l'esempio trascina



è sempre un piacere leggerti

Ciao Alessandro
piacere reciproco

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.