Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206

    [VB]Selezione multipla e conseguente stringa

    Ciao raga:
    ho questo codice:
    codice:
    <asp:listbox Rows="8" id="os" runat="server" SelectionMode="Multiple">
    <asp:listitem Value=" Windows 9x/Me -" Text="Windows 9x/Me" />
    <asp:listitem Value=" Windows Nt/2k/Xp -" Text="Windows Nt/2k/Xp" />
    <asp:listitem Value=" Windows Server -" Text="Windows Server" />
    <asp:listitem Value=" Unix/BSD -" Text="Unix/BSD" />
    <asp:listitem Value=" Linux -" Text="Linux" />
    <asp:listitem Value=" Solaris -" Text="Solaris" />
    <asp:listitem Value=" Macintosh -" Text="Macintosh" />
    </asp:listbox>
    Come vedete è una listbox a scelta multipla: ora, visto che questo dato và in un db di sqlserver, se l'utente fà una sola scelta và tutto ok, ma se sceglie 2 o + voci, nel db ce ne finisce una sola mentre io vorrei questo:
    esempio:
    l'utente seleziona
    • Windows 9x/Me
    • Linux
    • Macintosh

    nel db vorrei ci fosse scritto Windows 9x/Me - Linux - Macintosh (l'unione dei tre value)
    mentre adesso viene scritto solo l'ultimo valore selezionato,
    in questo caso 'Macintosh -'
    come posso ovviare a ciò

    Saluti

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
            Dim s$ = ""
            Dim v As String() = Trim(Request.Form("os")).Split(","c)
    
            For Each a As String In v
                If s = "" Then
                    s = a
                Else
                    s &= " - " & a
                End If
            Next
            PrintLn(s, "s")
    codice:
    			<asp:listbox Rows="8" id="os" runat="server" SelectionMode="Multiple">
    				<asp:listitem Value="Windows 9x/Me" Text="Windows 9x/Me" />
    				<asp:listitem Value="Windows Nt/2k/Xp" Text="Windows Nt/2k/Xp" />
    				<asp:listitem Value="Windows Server" Text="Windows Server" />
    				<asp:listitem Value="Unix/BSD" Text="Unix/BSD" />
    				<asp:listitem Value="Linux" Text="Linux" />
    				<asp:listitem Value="Solaris" Text="Solaris" />
    				<asp:listitem Value="Macintosh" Text="Macintosh" />
    			</asp:listbox>
    Pietro

  3. #3
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da pietro09
    codice:
            Dim s$ = ""
            Dim v As String() = Trim(Request.Form("os")).Split(","c)
    
            For Each a As String In v
                If s = "" Then
                    s = a
                Else
                    s &= " - " & a
                End If
            Next
            PrintLn(s, "s")
    codice:
    			<asp:listbox Rows="8" id="os" runat="server" SelectionMode="Multiple">
    				<asp:listitem Value="Windows 9x/Me" Text="Windows 9x/Me" />
    				<asp:listitem Value="Windows Nt/2k/Xp" Text="Windows Nt/2k/Xp" />
    				<asp:listitem Value="Windows Server" Text="Windows Server" />
    				<asp:listitem Value="Unix/BSD" Text="Unix/BSD" />
    				<asp:listitem Value="Linux" Text="Linux" />
    				<asp:listitem Value="Solaris" Text="Solaris" />
    				<asp:listitem Value="Macintosh" Text="Macintosh" />
    			</asp:listbox>
    ahi
    no funge :master:

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Aki
    ahi
    no funge :master:
    Beh! io l'ho provato e funziona. Ho solo eliminato dal value degli option gli spazi iniziali e finali ed il segno -


    <asp:listitem Value="Linux" Text="Linux" />

    c'è anche un'altro modo, ma se non ti funziona questo non so che dirti

    Pietro

  5. #5
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da pietro09
    Beh! io l'ho provato e funziona. Ho solo eliminato dal value degli option gli spazi iniziali e finali ed il segno -


    <asp:listitem Value="Linux" Text="Linux" />

    c'è anche un'altro modo, ma se non ti funziona questo non so che dirti

    non riconosce PrintLn(s, "s")
    che istruzione è?
    a che serve?
    cos'è il valore tra virgolette?

    P.S. se non si fosse capito, sono nuovo di asp.net

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Aki
    non riconosce PrintLn(s, "s")
    che istruzione è?
    a che serve?
    cos'è il valore tra virgolette?

    P.S. se non si fosse capito, sono nuovo di asp.net

    Println è una mia funziona che fa un response.write.

    TU NON DEVI COPIARE PARI PARI IL CODICE MA ESTRARRE LE PARTI CHE TI SERVONO ED ADATTARLE AL TUO CASO
    Pietro

  7. #7
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da pietro09
    Println è una mia funziona che fa un response.write.

    TU NON DEVI COPIARE PARI PARI IL CODICE MA ESTRARRE LE PARTI CHE TI SERVONO ED ADATTARLE AL TUO CASO
    quindi basta fare
    codice:
    Dim s = ""
    Dim v As String() = Trim(Request.Form("os")).Split(",")
    For Each a As String In v
      If s = "" Then
        s = a
      Else
        s &= " - " & a
      End If
    Next
    response.write(s)
    giusto?

  8. #8
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    ok risolto
    grazie


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.