Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gpalmia
    Registrato dal
    Oct 2002
    Messaggi
    128

    Gestire gli eventi senza code-behind

    Cari tutti del forum vi comunico il mio problema.
    sto cercando di darmi da fare per imparare ad usare ASP.NET.
    e così provo a costruire qualche pagina e ad inserirla sullo spazio free su Brinkster.com
    Capita però che le pagine girino bene sul mio PC (win2k e IIS) ma sul server di brinkster no.
    In particolare il messaggio di errore mi comunica che l'applicazione non riesce a caricare la classe scritta in linguaggio visual basic in un file a parte (il famoso code-behind)
    Ora la soluzione più semplice, ho pensato, è quella di realizzare un applicazione con un'unica pagina dove ci siano codice html e vb e, devo dire sono riuscito abbastanza semplicemente a realizzare questa operazione a parte un problema che vi dirò.
    Mi chiedo però:
    1) dove sbaglio quando i sorgenti sono due? (file aspx e aspx.vb)
    2) perchè con il sistema ad un'unica pagina non riesco comunque a gestire gli eventi degli oggetti che dispongo sulla pagina (esempio non riesco ad intercettare l'evento change di un dropdownlist)
    grazie per la risposta ciao.

  2. #2
    Utente di HTML.it L'avatar di Cartman
    Registrato dal
    Sep 2002
    Messaggi
    246
    auguri per brinkster....
    non sono mai riuscito a far girare niente di asp.net
    c'è un free hosting microsoft europeo (serio) (http://europe.webmatrixhosting.net/) che supporta asp.net (no asp 3.0)

    io personalmente non utilizzo il code behind e non ho problemi (spazi a pagamento).

    posta un po di codice, magari manca runat=server sul tag del controllo o qualcos'altro.
    C.
    Damose da fa...e volemose bene.
    Carol Woityla 26-2-2004

  3. #3
    Utente di HTML.it L'avatar di gpalmia
    Registrato dal
    Oct 2002
    Messaggi
    128
    Grazie per la risposta al forum di HTML.IT.
    Proverò sicuramente l'hosting che mi hai consigliato nel frattempo ti invio il sorgente della pagina incriminata.
    Come vedi si tratta di una semplice applicazione con un dropdownlist ed un datagrid; la selezione di un item sul dropdownlist esegue il postback con una query di selezione su una tabella del database gestito dai soliti oggetti ADO.
    Ed è proprio l'evento SelectedIndexChanged del dropdownlist che non riesce ad essere intercettato: il messaggio di errore dice "La clausola Handles richiede una variabile WithEvents come qualificatore." ...

    <%@ Import namespace = "System.data.OLEDB"%>
    <script runat="server">
    Dim path As String = Server.MapPath("\gpalmia") & "\db\Prova.mdb"
    Dim str As String = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & path
    Dim cn As New OleDbConnection(str)

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If Not Page.IsPostBack Then
    InizializzaLista()
    End If
    End Sub

    Private Sub InizializzaLista()
    Dim sql As String
    sql = "Select DISTINCT Posizione from Clienti"
    cn.Open()
    Dim cmd As New OleDbCommand(sql, cn)
    Dim dr As OleDbDataReader = cmd.ExecuteReader
    DDL1.DataSource = dr
    DDL1.DataTextField = "Posizione"
    DDL1.DataBind()
    dr.Close()
    cn.Close()
    End Sub

    Private Sub DDL1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DDL1.SelectedIndexChanged
    Dim sql As String
    sql = "Select * FROM Clienti"
    If DDL1.SelectedIndex >= 0 Then
    sql &= " WHERE posizione = '" & DDL1.SelectedItem.Text & "'"
    End If
    cn.Open()
    Dim cmd As New OleDbCommand(sql, cn)
    Dim dr As OleDbDataReader = cmd.ExecuteReader
    DG1.DataSource = dr
    DG1.DataBind()
    dr.Close()
    cn.Close()
    End Sub

    </script>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <title></title>
    <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
    <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <aspropDownList id="DDL1" style="Z-INDEX: 101; LEFT: 82px; POSITION: absolute; TOP: 58px" runat="server" Width="335px" Height="23px"></aspropDownList>
    <aspataGrid id="DG1" style="Z-INDEX: 102; LEFT: 88px; POSITION: absolute; TOP: 103px" runat="server" Height="214px" Width="328px"></aspataGrid>
    </form>
    </body>
    </HTML>

    Scusa se ho approfittato della tua disponibilità.
    Ti ringrazio anticipatamente se vorrai rispondere.
    Gino Palmia

  4. #4
    Utente di HTML.it L'avatar di Alendar
    Registrato dal
    May 2002
    Messaggi
    169
    Hai provato a scrivere
    "Handles Page.Load" oppure "Form1.Load" ?

    Scusa ma uso C# per cui non mi è molto chiara la sintassi di gestione degli eventi in VB.NET...

  5. #5
    Utente di HTML.it L'avatar di Cartman
    Registrato dal
    Sep 2002
    Messaggi
    246
    guarda
    qui
    C.
    Damose da fa...e volemose bene.
    Carol Woityla 26-2-2004

  6. #6
    Utente di HTML.it L'avatar di gpalmia
    Registrato dal
    Oct 2002
    Messaggi
    128
    Evviva ho trovato l'errore!!!!
    bisognava inserire OnSelectedIndexChanged nel tag <asp:dropdownlist>
    questo attributo richiama la routine di evento nel codice vb!

    grazie per i consigli!
    Ciao

  7. #7
    Utente di HTML.it L'avatar di misbo
    Registrato dal
    Nov 2001
    Messaggi
    282
    Originariamente inviato da Cartman
    auguri per brinkster....
    non sono mai riuscito a far girare niente di asp.net
    c'è un free hosting microsoft europeo (serio) (http://europe.webmatrixhosting.net/) che supporta asp.net (no asp 3.0)

    io personalmente non utilizzo il code behind e non ho problemi (spazi a pagamento).

    posta un po di codice, magari manca runat=server sul tag del controllo o qualcos'altro.
    C.
    Sicuro che lo spazio è completamente gratuito ?
    Ho visto che si ha la possibilità di utilizzare sql sever

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.