Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Come si assegna un id dinamico ai componenti di 1 form?

    Ciao a tutti ragazzi! Mi serve sapere come si può assegnare dinamicamente gli id ai componenti di una form web. Precedentemente in asp 3.0 bastava semplicemente fare:

    <form id="<%= codice vbscript %>" ...........

    Ora ho bisogno di chiamare i componenti di una form con le stringhe contenute su un array. Ho provato senza successo i seguenti modi:

    <asp:checkbox id="<%= aCampi.GetValue(19) %>" runat="server" />

    <asp:checkbox id="<%# aCampi.GetValue(19) %>" runat="server" />

    <asp:checkbox id=<%# aCampi.GetValue(19) %> runat="server" />

    <asp:checkbox id=<%= aCampi.GetValue(19) %> runat="server" />

    <asp:checkbox id=" aCampi.GetValue(19) " runat="server" />

    <asp:checkbox id=aCampi.GetValue(19) runat="server" />

    Non so più come fare. Aiutatemi, grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    ti conviene usare gli htmlservercontrol e stamparci dentro l'asp invece dei webcomponent?

    prova cosi(io non ci ho mai provato):

    <input type="check" id="<%response.write("tuoID..")%>" runat="server">

  3. #3
    il fatto è che non voglio utilizzare gli htmlcontrols ma bensì i webcontrols per diversi motivi. Comunque ho risolto il mio problema in un altro modo!

  4. #4
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    hehehe bene! magari diccelo, c'hai incuriosito

  5. #5
    Ho chiamato i controlli web come i campi della tabella nel data base SQL Server e poi con una funzione inserisco in un array i nomi dei campi della tabella. Poi per andare a prelevare i valori della form eseguo un ciclo for per tutti gli elementi dell'array creando di volta in volta un oggetto web form appropriato (listbox piuttosto di textbox, ....) ed prelevo i dati con i metodi appropriati.

    Valori = Array.CreateInstance(GetType(Object), aCampi.GetLength(0))

    For i=0 To acampi.GetLength(0)-1
    Con = FindControl(aCampi(i))
    tipocampo=LCase(Mid(acampi.GetValue(i),4,1))
    If (Not Con Is Nothing) Then
    Select tipocampo
    Case "c","i","t","m"
    oggetto=CType(Con, TextBox)
    Valori.SetValue(oggetto.text,i)
    Case "b"
    oggetto=CType(Con, Checkbox)
    Valori.SetValue(oggetto.Checked,i)
    Case "l"
    oggetto=CType(Con, ListBox)
    Valori.SetValue(oggetto.SelectedItem.Value(),i)
    End Select
    End If
    Next

    Dove aCampi è l'array che contiene i nomi dei campi della tabella e Valori è un array con i rispettivi valori da inserire (nello stesso ordine). Con le sigle nei nomi dei campi identifico il tipo di controllo. Poi ho una funzione che legge i due array + il nome della tabella ed esegue l'inserimento!
    Spero di essere stato chiaro!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.