Acquisire dati da repeater (script VB)

venerdì 27 gennaio 2006 - 10.21

vito.new Profilo | Newbie

Ciao a tutti.. avrei un problema e spero che qualcuno possa aiutarmi.. nella mia pagina ho un repeater controll(ID="Repeater1"), con al suo interno una textbox(ID="nome") e infine ho un bottone (ID="carica").
Nell'evento onclick del suddetto bottone ho la connessione ad un database con l'inserimento nel campo NomeUtente del testo inserito nella textboxt "nome" all'interno del "Repeater1." E qui il mio quesito: data la stringa di connessione "cmd", come faccio a richiamare il contenuto di quella textbox nel comando
cmd.Parameters.Add("@NomeUtente",OleDbType.string)= ??? ?
Ho provato ad inserire nome.text al posto dei ??? ma naturalmente non funziona perchè la textbox è contenuta in Repeater1

Friderich Profilo | Newbie

io ho provato a fare qualcosa del genere me ricordo di aver impostato prima il parametro della textbox come una stringa es

string Nome = TextBox.text;

E poi aver passato anche il comando di Sql come una string

String ComandoSql = "Insert Into myodb (nome) Values ('" + Nome + "')";

non lo so se ti sono stato di aiuto

vito.new Profilo | Newbie

Si..ok, ma non centra niente con il mio problema..
cmq.. grazie sei stato gentilissimo nel rispondermi..
Ciao

re

Brainkiller Profilo | Guru

>Si..ok, ma non centra niente con il mio problema..
>cmq.. grazie sei stato gentilissimo nel rispondermi..
>Ciao

Ciao vito,
per intercettare controlli e modificarli a runtime all'interno di un Repeater è necessario utilizzare il metodo FindControl in particolare nell'evento OnItemDataBound cioè nel momento in cui i dati vengono collegati man mano al repeater, devi verificare se l'ItemType di e è uguale a Item o AlternatingItem e a quel punto chiamare FindControl passando l'ID del controllo da ricercare.

Se non sono stato abb. chiaro scrivi nuvoamente.
Ciao


David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

vito.new Profilo | Newbie

Ciao.. grazie anzi tutto per la risposta.. ma non ho capito molto bene..
Ti spiego cosa ho fatto:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource1">
<ItemTemplate>
<asp:TextBox runat="server" id="prova" Text='<%# Eval("Nome") %>' />
</ItemTemplate>
</asp:Repeater>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Data.mdb"
SelectCommand="SELECT [Nome] FROM [DatiUtente] WHERE Nome='Rossi'"></asp:AccessDataSource>
<asp:Label ID="Label1" runat="server" Text="" />


'E qui ho quindi il repeater che a runtime mi darà come risultato 4 textbox con i nomi Rossi all'interno.
'Ora vorrrei Assegnare a label1.text il valore del primo textbox del repeater..ho provato il seguente codice ma non funz.


Protected Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound

Repeater1.Items(1).FindControl("prova")
Label2.Text = prova.text

End Sub


Te ne sarei veramente grato se tu mi aiutassi.. devo completare un progetto per un esame universitario..

Ciao e grazie

re
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5