Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    14

    Problemi Su Richiamo Sub

    Problema forse stupido....
    Ma sto impazzendo

    Allora io ho una pagina asp.net VB
    nel layout grafico ho un pulsante
    codice:
    <asp:Button Text="ordina per nome" runat="server" onclick='ordina("nome","asc")' />
    nel code behind invece ho una sub
    codice:
    Public Sub ordina(ByVal campo As String, ByVal ordinamento As String)
            Dim query As String
            query = "SELECT * FROM tb_iscritti_newsletter"
    
            If campo <> "" Then
                query = query & " order by " & campo
                If ordinamento <> "" Then
                    query = query & " " & ordinamento
                End If
            End If
    End Sub
    Bene, ora la pagina non funziona, mi da codesto errore:

    Errore 63 L'operando 'AddressOf' deve essere il nome di un metodo senza parentesi. D:\inetpub\wwwroot\aspnet\B.aspx 83

    Perche ?

  2. #2
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    programmo da pochi mesi in asp e nn conosco il vb ma il C# ma cmq azzardo una risposta :

    Solitamente la sub di un pulsante definito cosi:

    page.aspx
    codice:
    <asp:Button ID="btnOrdina" runat="server" Text="Button" />
    la devi richiamare cosi
    page.aspx.vb
    codice:
        Protected Sub btnOrdina_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOrdina.Click
    'corpo della sub
        End Sub
    I paramteri devi valorizzarli da altre parti ed utilizzarli nella sub , assicurandoti ovviamente che questi siano effettivamente valorizzati prima di utlizzarli.

    spero di esserti stato di aiuto

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    14
    In realtà Grazie,
    Sono lieto del tuo aiuto,
    ma volevo evitare proprio questo,
    cioè volevo passare i valori direttamente. senza creare campi hidden etc...

    Saluti

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da manrico
    In realtà Grazie,
    Sono lieto del tuo aiuto,
    ma volevo evitare proprio questo,
    cioè volevo passare i valori direttamente. senza creare campi hidden etc...

    Saluti
    c# e vb.net funzionano esattamente allo stesso modo. In particolare pretendono che non ci si inventi la sintassi, pena il mancato funzionamento.

    Io userei il modo già consigliato, ma se si può adattare al tuo caso:

    <asp:Button ID="Button1" runat="server" Text="Button" CommandName="nome" CommandArgument="asc" />

    e recupero i valori con
    codice:
        Protected Sub Button1_Command(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs) Handles Button1.Command
            Dim btn As Button = DirectCast(sender, Button)
            Dim campo As String = e.CommandName
            Dim ordine As String = e.CommandArgument.ToString
    
        End Sub
    Pietro

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    14
    Grazie,
    Soluzione da esperto.
    Purtroppo io vengo dal asp 3.0 e ora sto notando che il php è molto rapido da imparare ed anche performante, e soprattutto hai il pieno e rapido controllo di ciò che vuoi fare.

    Il sistema .net sarà si performante, pieno di risorse etc. etc....
    ma è piuttosto complesso da capire come sistema.

    Per essere operativo devi studiare e studiare su libri che si devono acquistare, perchè su internet, c'è poco.

    Comunque Grazie

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: Giusto per discutere, come avresti fatto in asp e in php?
    Pietro

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    14
    Hai ragione, non è possibile in asp o php con la stessa modalita che voglio effettare in dot.net

    <input type=button name=ordina onclick="document.forms[0].campo='nome';document.forms[0].ordinamento='asc';document.forms[0].submit">

    con javascript ad esempio

    senza asp o php in effetti.

    Però io in asp net non posso farlo?Cioè mischiare javascript ed asp.net vero?

    Però la mia domanda era partita dal problema di questo tipo, per ordinare i risultati di una query manualmente con postback

    Grazie

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    In realtà bastano pochi semplici concetti (sul modo di gestire gli eventi e sulle firme in questo caso) e .net offre soluzioni molto veloci da implementare, soprattutto con l'aiuto di Visual Studio.

    Esempio blando:
    codice:
    ---Aspx:
    <asp:Button ID="BtnOrdina1" Text="Ordina per Nome, crescente" runat="server" />
    <asp:Button ID="BtnOrdina2" Text="Ordina per Cognome, decrescente" runat="server" />
    
    
    ---Code-behind:
        Public nomecampo As String
        Public ordinamento As String
        Public query as String = "SELECT * FROM TB_ISCRITTI_NEWSLETTER"
    
        Protected Sub BtnOrdina1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnOrdina1.Click
            nomecampo = "NOME"
            ordinamento = "ASC"
            Ordina()
        End Sub
    
        Protected Sub BtnOrdina2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnOrdina2.Click
            nomecampo = "COGNOME"
            ordinamento = "DESC"
            Ordina()
        End Sub
    
        Private Sub Ordina()
            If nomecampo <> String.Empty Then
                query += " ORDER BY " & nomecampo
                If ordinamento <> String.Empty Then
                    query += " " & ordinamento
                End If
            End If
            'ESEGUI LA QUERY
        End Sub

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    14
    Grazie Mille.

    Ho effettuato lo stesso ragionamento e sono arrivato alla medesima soluzione.

    E' probabilmente una questione di ragionamento ad oggetti, io sono abituato allo "spagetti code"

    Proverò a studiare di +.
    Grazie

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Per ora inizia cosi', ma studiati anche un po' le Stored Procedure.
    Comporre una query attaccandone i pezzi nel codice non è esattamente una procedura consigliata e sicura.

    Ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.