ok, è da 10 giorni che sono su asp.net, e mi sto divertendo gingillandomi con varie funzioni, sub, cicli, dichiarazioni, ma soprattutto I FORM...
ora, non si possono inserire + form nella stessa pagina...tuttavia un campo di testo, un repeater, una dropdownlist non possono esistere al di fuori di un form...

sto sviluppando un'applicazione che fa in modo che
un utente qualsiasi:
- visualizza la classifica di una gara in una tabella generata da un repeater che va a beccarsi i dati da un db access
l'amministratore del sito:
-visualizza la stessa classifica
-visualizza un pannello "pnlAdmin" all'interno dello stesso form del repeater

il pannello dell'admin permette di:
-modificare la classifica aggiungendo e sottraendo record al db

il modulo di inserimento dati del pannello dell'admin :
-permette di inserire i dati
-controlla tramite dei requiredfieldvalidator che i campi di testo siano compilati

il comando per eliminare i record:
-visualizza i record in una dropdownlist che si popola dei dati del db


ora il problema principale è il seguente:
i requiredfieldvalidator controllano che i campi di testo siano validi e fanno in modo che quando si clicca sul bottone "aggiungi" compaiano le etichette che avvertono l'utente che il campo è obbligatorio.
il modulo che permette di eliminare i record scegliendoli dalla droplist risiede sullo stesso form dei textbox controllati dai requiredfieldvalidator....a questo punto, quando si va a cliccare sul pulsante "elimina" IN TEORIA la sub richiamata andrebbe a prendere il record selezionato nella drop e si appresterebbe a cancellarlo dal db...TUTTAVIA NON LO FA!E IN PIU' MI ESCONO LE ETICHETTE ROSSE DEI CAMPI OBBLIGATORI CHE IMPEDISCONO AL FORM DI ESSERE INVIATO!
.................................................. ..............
posto il codice sperando che qualcuno ne capisca piu' di me... :master:
codice:
<%@ Page Language="VB" Debug="true" %>
<%@ import Namespace="System.Data.OleDb" %>
<%@ import Namespace="System.Data" %>
<script runat="server">

    'CARICAMENTO PAGINA
    sub Page_Load
    startRepeater
    end sub
    'REPEATER CLASSIFICA
    sub startRepeater
    Dim conCiccio As OleDbConnection
    Dim cmdSelectCiccio As OleDbCommand
    Dim dtrClassifica As OleDbDataReader
    conCiccio = New OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="& Server.MapPath("mdb-database\ciccio.mdb") )
    conCiccio.Open()
    cmdSelectCiccio = New OleDbCommand( "Select * From Tabella1 Order By posizione", conCiccio )
    dtrClassifica = cmdSelectCiccio.ExecuteReader()
    rptTabella.DataSource = dtrClassifica
    rptTabella.DataBind()
    dtrClassifica.Close()
    conCiccio.Close()
    end sub
    
    'BOTTONE RESETTA CAMPI INSERIMENTO CONCORRENTI
    sub btnClick_Pulisci(s as Object, e as EventArgs)
    dim strNull as string
    strNull = ""
    txtPosizione.text = strNull
    txtNumero.text = strNull
    txtCodice.text = strNull
    txtConcorrente.text = strNull
    txtLb.text = strNull
    txtAa.text = strNull
    txtCr.text = strNull
    txtSocieta.text = strNull
    txtFinale.text = strNull
    txtGara.text = strNull
    txtGrad.text = strNull
    end sub
    
    'BOTTONE AGGIUNTA CONCORRENTI AL DATABASE
    sub btnClick_Aggiungi(s as Object, e as EventArgs)
    if IsValid then
    Dim conCiccio As OleDbConnection
    Dim strInsert As String
    Dim cmdInsert As OleDbCommand
    conCiccio = New OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="& Server.MapPath("mdb-database\ciccio.mdb") )
    strInsert = "Insert Into Tabella1 ( posizione, numero, codice, concorrente, lb, aa, cr, societa, finale, gara, grad ) Values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )"
    cmdInsert = New OleDbCommand( strInsert, conCiccio )
    cmdInsert.Parameters.Add( "@posizione", txtPosizione.text )
    cmdInsert.Parameters.Add( "@numero", txtNumero.text )
    cmdInsert.Parameters.Add( "@codice", txtCodice.text )
    cmdInsert.Parameters.Add( "@concorrente", txtConcorrente.text )
    cmdInsert.Parameters.Add( "@lb", txtLb.text )
    cmdInsert.Parameters.Add( "@aa", txtAa.text )
    cmdInsert.Parameters.Add( "@cr", txtCr.text )
    cmdInsert.Parameters.Add( "@societa", txtSocieta.text )
    cmdInsert.Parameters.Add( "@finale", txtFinale.text )
    cmdInsert.Parameters.Add( "@gara", txtGara.text )
    cmdInsert.Parameters.Add( "@grad", txtGrad.text )
    conCiccio.Open()
    cmdInsert.ExecuteNonQuery()
    conCiccio.Close()
    startRepeater
    end if
    end sub
    
    'ADMIN MODE - ENTRATA E USCITA
    sub click_btnAdminMode(s as Object, e as EventArgs)
    dim admin_status as boolean
    admin_status = pnlAdmin.Visible
    if not admin_status then
    pnlAdmin.Visible = true
    popolaDropElimina
    elseif admin_status then
    pnlAdmin.Visible = false
    end if
    end sub
    
    'BOTTONE ELIMINA CONCORRENTE SELEZIONATO NELLA DROPDOWNLIST DAL DATABASE
    sub btnClick_Elimina(s as Object, e as EventArgs)
    Dim conCiccio As OleDbConnection
    Dim strDelete As String
    Dim cmdDelete As OleDbCommand
    conCiccio = New OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="& Server.MapPath("mdb-database\ciccio.mdb") )
    strDelete = "DELETE FROM Tabella1 WHERE concorrente=@concorrente"
    cmdDelete = New OleDbCommand( strDelete, conCiccio )
    cmdDelete.Parameters.Add( "@concorrente", dropElimina.SelectedItem.Value )
    conCiccio.Open()
    cmdDelete.ExecuteNonQuery()
    conCiccio.Close()
    startRepeater
    popolaDropElimina
    end sub
    
    'POPOLAMENTO DELLA DROPDOWNLIST CHE ELIMINA I CONCORRENTI DAL DATABASE
    sub popolaDropElimina
    Dim conCiccio As OleDbConnection
    Dim cmdSelectCiccio As OleDbCommand
    Dim dtrDropElimina As OleDbDataReader
    conCiccio = New OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="& Server.MapPath("mdb-database\ciccio.mdb") )
    cmdSelectCiccio = New OleDbCommand( "Select concorrente From Tabella1 Order By concorrente", conCiccio )
    conCiccio.Open()
    dtrDropElimina = cmdSelectCiccio.ExecuteReader()
    dropElimina.DataSource = dtrDropElimina
    dropElimina.DataTextField = "concorrente"
    dropElimina.DataBind()
    dtrDropElimina.Close()
    conCiccio.Close()
    end sub

</script>
<html>
<head>
    <link href="sciclub.css" type="text/css" rel="stylesheet" />
</head>
<body>
    <form runat="server">
        <asp:repeater id="rptTabella" runat="server" EnableViewState="False">
            <ItemTemplate>
                <tr>
                    <td align="center">
                        <%#Container.DataItem("posizione")%></td>
                    <td align="center">
                        <%#Container.DataItem("numero")%></td>
                    <td align="center">
                        <%#Container.DataItem("codice")%></td>
                    <td align="center">
                        <%#Container.DataItem("concorrente")%></td>
                    <td align="center">
                        <%#Container.DataItem("lb")%></td>
                    <td align="center">
                        <%#Container.DataItem("aa")%></td>
                    <td align="center">
                        <%#Container.DataItem("cr")%></td>
                    <td align="center">
                        <%#Container.DataItem("societa")%></td>
                    <td align="center">
                        <%#Container.DataItem("finale")%></td>
                    <td align="center">
                        <%#Container.DataItem("gara")%></td>
                    <td align="center">
                        <%#Container.DataItem("grad")%></td>
                </tr>
            </ItemTemplate>
            <AlternatingItemTemplate>
                <tr bgcolor="#CCFFFF">
                    <td align="center">
                        <%#Container.DataItem("posizione")%></td>
                    <td align="center">
                        <%#Container.DataItem("numero")%></td>
                    <td align="center">
                        <%#Container.DataItem("codice")%></td>
                    <td align="center">
                        <%#Container.DataItem("concorrente")%></td>
                    <td align="center">
                        <%#Container.DataItem("lb")%></td>
                    <td align="center">
                        <%#Container.DataItem("aa")%></td>
                    <td align="center">
                        <%#Container.DataItem("cr")%></td>
                    <td align="center">
                        <%#Container.DataItem("societa")%></td>
                    <td align="center">
                        <%#Container.DataItem("finale")%></td>
                    <td align="center">
                        <%#Container.DataItem("gara")%></td>
                    <td align="center">
                        <%#Container.DataItem("grad")%></td>
                </tr>
            </AlternatingItemTemplate>
            <HeaderTemplate>
                <table width="750" border="0" align="center" cellpadding="0" cellspacing="2">
                    <tr bgcolor="#b3d9ff">
                        <th>
                            Posizione</th>
                        <th>
                            Numero</th>
                        <th>
                            Codice</th>
                        <th>
                            Concorrente</th>
                        <th>
                            L.B.</th>
                        <th>
                            A.A.</th>
                        <th>
                            C.R.</th>
                        <th>
                            Società</th>
                        <th>
                            Finale</th>
                        <th>
                            Gara</th>
                        <th>
                            Grad.</th>
                    </tr>
            </HeaderTemplate>
            <FooterTemplate>
                <td colspan="11" align="center" bgcolor="#b3d9ff">
                    <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://www.nextskin.it" target="_blank">powered
                    by Nextskin</a></font></td>
                </table>
            </FooterTemplate>
        </asp:repeater>
        

        <hr />
        

        <asp:panel id="pnlAdmin" runat="server" Visible="false">
            

            Posizione:

            <asp:textbox id="txtPosizione" runat="server"></asp:textbox>
            

            Numero:

            <asp:textbox id="txtNumero" runat="server"></asp:textbox>
            

            Codice:

            <asp:textbox id="txtCodice" runat="server"></asp:textbox>
            

            Concorrente:

            <asp:textbox id="txtConcorrente" runat="server"></asp:textbox>
            

            LB:

            <asp:textbox id="txtLb" runat="server"></asp:textbox>
            

            AA:

            <asp:textbox id="txtAa" runat="server"></asp:textbox>
            

            CR:

            <asp:textbox id="txtCr" runat="server"></asp:textbox>
            

            Società:

            <asp:textbox id="txtSocieta" runat="server"></asp:textbox>
            

            Finale:

            <asp:textbox id="txtFinale" runat="server"></asp:textbox>
            

            Gara:

            <asp:textbox id="txtGara" runat="server"></asp:textbox>
            

            Grad:

            <asp:textbox id="txtGrad" runat="server"></asp:textbox>
            

            <asp:button id="btnAggiungi" onclick="btnClick_Aggiungi" runat="server" Text="Aggiungi Concorrente"></asp:button>
             
            <asp:button id="btnPulisci" onclick="btnClick_Pulisci" runat="server" Text="Pulisci i Campi"></asp:button>
            <hr />
            

            Seleziona il Concorrente da eliminare:

            <asp:DropDownList id="dropElimina" runat="server" Width="160px"></asp:DropDownList>
            

            <asp:button id="btnElimina" onclick="btnClick_Elimina" runat="server" Text="Elimina ID"></asp:button>
            

            <hr />
            

        </asp:panel>
        <asp:button id="btnAdminMode" onclick="click_btnAdminMode" runat="server" Text="admin mode"></asp:button>
    </form>
</body>
</html>
deppiù ninzò...