Salve, non riesco ad utilizzare un DetailsView in correlazione ad una Listbox: la ListBox visualizza i valori di un campo di una tabella di un DB e alla selezione di un valore il DetailsView dovrebbe visualizzare tutti i campi di quel record sul DB.
Il problema è che non so come impostare il DataSource del DetailsView che dovrebbe venir invocato ad ogni ListBox1_SelectedIndexChanged.

Posto il codice:
codice:
Option Strict On

Imports System.Data.SqlClient
Imports System.Data

Partial Class DettagliLibri
    Inherits System.Web.UI.Page

    Dim MioDataSet As DataSet

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim id As Integer = CInt(Request.QueryString("id"))

        If Not (Page.IsPostBack) Then ' Primo avvio dell'applicazione
            Dim stringaConnessioneDB As String = ConfigurationManager.AppSettings("pathConnessione1")
            Dim connessioneDB As SqlConnection = New SqlConnection(stringaConnessioneDB)

            MioDataSet = New DataSet()
            Dim DataTable_TitoliLibri As DataTable = New DataTable("TabellaTitoliLibri")
            Dim SqlDataAdapter_TabellaTitoliLibri As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM TitoliLibri WHERE id_autore=" & id, connessioneDB)

            Try ' Inserisco la DataTable nel DataSet
                SqlDataAdapter_TabellaTitoliLibri.Fill(MioDataSet, DataTable_TitoliLibri.TableName())

                ' Riempo la Listbox con i valori della DataTable "TabellaAutori", ovvero con i valori della tabella 
                ' "authors" del DB
                ListBox1.DataSource = MioDataSet.Tables("TabellaTitoliLibri")
                ListBox1.DataBind()
            Catch ex As Exception
                Throw New Exception(ex.Message)
            Finally
                connessioneDB.Close()
                connessioneDB.Dispose()
            End Try

            ' Inserisco il DataSet nell'oggetto Session in modo da tenerne memoria anche in caso di nuovi PageLoad
            Session("RicordaDataSet") = MioDataSet
        Else ' Postback della pagina 
            MioDataSet = CType(Session("RicordaDataSet"), DataSet)
        End If

    End Sub

    Protected Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        ' COSI' NON FUNZIONA
DetailsView1.DataSource = MioDataSet.Tables("TabellaTitoliLibri").Rows(ListBox1.SelectedIndex) 
        DetailsView1.DataBind()
        DetailsView1.Visible = True
    End Sub
End Class

codice:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="DettagliLibri.aspx.vb" Inherits="DettagliLibri" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server" >
<base target="_self" />
    <title>Dettagli Libri</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListBox ID="ListBox1" runat="server" ToolTip="Scegli il libro di cui visualizzare i dettagli"
                     OnSelectedIndexChanged="ListBox1_SelectedIndexChanged" 
            AutoPostBack="True" DataTextField="Titolo" DataValueField="id">
        </asp:ListBox>
    
    
    
    <asp: DetailsView ID="DetailsView1" runat="server" DataKeyNames="id" BackColor="White" 
            BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" 
            ForeColor="Black" GridLines="Vertical" Height="50px" Width="125px" 
            Visible="False" AutoGenerateRows="False">
            <FooterStyle BackColor="#CCCC99" />
            <RowStyle BackColor="#F7F7DE" />
            <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
            <Fields>
                <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Titolo") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <HeaderTemplate>
                        <asp:Label ID="TitoloLibroLabelHeader" runat="server" Text="Titolo Libro"></asp:Label>
                    </HeaderTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Titolo") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="TitoloLibroLabel" runat="server" Text='<%# Bind("Titolo") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Descrizione") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <HeaderTemplate>
                        <asp:Label ID="DescrizioneLibroLabelHeader" runat="server" 
                            Text="Descrizione Libro"></asp:Label>
                    </HeaderTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Descrizione") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="DescizioneLibroLabel" runat="server" 
                            Text='<%# Bind("Descrizione") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField ShowHeader="False">
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" 
                            CommandName="Update" Text="Aggiorna"></asp:LinkButton>
                        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" 
                            CommandName="Cancel" Text="Annulla"></asp:LinkButton>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" 
                            CommandName="Edit" Text="Modifica"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField ShowHeader="False">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" 
                            CommandName="Delete" Text="Elimina"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField ShowHeader="False">
                    <InsertItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" 
                            CommandName="Insert" Text="Inserisci"></asp:LinkButton>
                        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" 
                            CommandName="Cancel" Text="Annulla"></asp:LinkButton>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" 
                            CommandName="New" Text="Nuovo"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Fields>
            <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" />
        </asp: DetailsView>
    
    </div>
    </form>
</body>
</html>