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

    Radiobuttonlist value invisibile

    Ciao a tutti.

    Con questo riempio il mio radiobuttonlist:
    codice:
    <%@ Page Language="VB" Debug="true" %>
    <%@Import Namespace="System.Data"%>
    <%@Import Namespace="System.Data.OleDb"%>
    
    <script runat=server>
        Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
            cartoline2.Attributes.Add("style", "display: none;")
            cartoline1.Attributes.Add("style", "display: "";")
            
            Dim cmd As OleDbCommand
            Dim rdr As OleDbDataReader
    
            Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
                      "DATA Source=C:\Documents and Settings\davidee\Documenti\Visual Studio 2005\mdb-database\cartoline.mdb;")
            cn.Open()
            Dim sql As String = "SELECT DISTINCT genereID FROM cartoline"
    
            cmd = New OleDbCommand(sql, cn)
            rdr = cmd.ExecuteReader()
            
            RadioButtonList1.DataSource = rdr
            RadioButtonList1.DataBind()
            
            cn.Close()
        End Sub
    .
    .
    .
    con questo vorrei recuperare il valore selezionato inviato tramite form:
    codice:
    .
    .
    .
        Sub Visualizza(ByVal obj As Object, ByVal e As EventArgs)
            
            If RadioButtonList1.SelectedValue = "" Then
                Label1.Text = "seleziona un genere"
                Label2.Text = RadioButtonList1.SelectedValue
            Else
                cartoline1.Attributes.Add("style", "display: none;")
                cartoline2.Attributes.Add("style", "display: "";")
                
                Dim cmd As OleDbCommand
                Dim rdr As OleDbDataReader
                Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
                          "DATA Source=C:\Documents and Settings\davidee\Documenti\Visual Studio 2005\mdb-database\cartoline.mdb;")
    
                cn.Open()
                Dim sql As String = "SELECT NomeImm FROM cartoline WHERE genereId = " & RadioButtonList1.SelectedValue
                cmd = New OleDbCommand(sql, cn)
                rdr = cmd.ExecuteReader()
                
                Repeater1.DataSource = rdr
                Repeater1.DataBind()
                cn.Close()
            End If
        
        End Sub
    L'html è:
    codice:
    <html>
    <head>
    </head>
    <body>
        <form id="Form1" runat="server">
        <div id="cartoline1" runat="server">
        <asp:RadioButtonList id="RadioButtonList1" datatextfield="genereID" runat="server" RepeatLayout="Flow" DataValueField="genereID"></asp:RadioButtonList>
    
        <asp:Button ID="Button1" onclick="Visualizza" runat="server" Text="Invia" />
    
            <asp:Label ID="Label1" runat="server"></asp:Label>
            <asp:Label ID="Label2" runat="server"></asp:Label>
        </div>
        </form>
        <div id="cartoline2" runat="server">
        <asp:Repeater id="Repeater1" runat="server">
          <ItemTemplate>
          .
          .
          .
          </ItemTemplate>
        </asp:Repeater>
        </div>
    </body>
    </html>
    Per quale motivo all'invio del form ricevo "seleziona un genere" (vedere parte in rosso del codice).
    Grazie

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Nel Page_Load, il caricamento del RadioButtonList devi condizionarlo al postback.

    codice:
    If not isposback then
    cartoline2.Attributes.Add("style", "display: none;")
    .
    .
    .
    cn.Close()
    End if
    Altrimenti ad ogni caricamento della pagina, perdi il valore selezionato. Questo poi lo ottieni con :

    codice:
    RadioButtonList1.SelectedItem.Text   (TESTO - DataTextField)
    codice:
    RadioButtonList1.SelectedItem.Value   (VALORE - DataValueField)

  3. #3
    grazie, funziona!

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.