Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di SPEED78
    Registrato dal
    Jan 2003
    Messaggi
    358

    Problema su evento bottone generato

    salve ragazzi ho un piccolo problema col quale sto combattendo da un po e spero grazie al vs aiuto di uscirne vincitore
    praticamnete genero un bottone in run time ma non riesco ad associargli l'evento posto il codice.

    codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
                Dim trn As New TableRow
                Dim tdn As New TableCell
                Dim btn As New Button
                btn.ID = "pippo"
                btn.Text = "Invia"
                tdn.Controls.Add(btn)
                trn.Cells.Add(tdn)
                Table1.Rows.Add(trn)
    End Sub
    
    Protected Sub pippo_Click1(ByVal sender As Object, ByVal e As System.EventArgs)
            Response.Write("ciao")
    End Sub
    
    grazie a tutti :messner:

  2. #2
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    I controlli server per poterli associare a degli eventi vanno generati nel page_init, nel page_load è troppo tardi.
    Ciao

  3. #3
    Utente di HTML.it L'avatar di SPEED78
    Registrato dal
    Jan 2003
    Messaggi
    358
    grazie sarebbe ad essere....

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    dentro il form, dove vuoi metti un contenitore, per esempio un
    <asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>

    il codice sottostante è:

    codice:
    Option Strict On
    Partial Class CorsoApogeo_AggiuntaDinamicaControlli
        Inherits System.Web.UI.Page
        Private Function GetForm() As HtmlForm
            Return CType(Me.FindControl("Form1"), HtmlForm)
        End Function
    
        Private Function GetLabel() As Label
            Return CType(Me.FindControl("lbl1"), Label)
        End Function
    
        Private Function GetTextBox() As TextBox
            Return CType(Me.FindControl("tb1"), TextBox)
        End Function
    
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            PrintLn("Page_Load")
            Dim tb As New TextBox()
            tb.ID = "tb1"
            tb.Text = "Scrivi qualcosa"
            Me.PlaceHolder1.Controls.Add(tb)
    
            Me.PlaceHolder1.Controls.Add(New LiteralControl("
    "))
    
            Dim btn As New Button()
            btn.Text = "Spedisci"
            Me.PlaceHolder1.Controls.Add(btn)
            AddHandler btn.Click, AddressOf btn1_click
    
    
            Me.PlaceHolder1.Controls.Add(New LiteralControl("
    "))
    
            Dim lbl As New Label()
            lbl.ID = "lbl1"
            Me.PlaceHolder1.Controls.Add(lbl)
    
        End Sub
        Private Sub btn1_click(ByVal Sender As Object, ByVal e As System.EventArgs)
            PrintLn("btn1_click")
            GetLabel().Text = "Mi hai chiamato, finalmente!
    Mi hai spedito: " & Me.GetTextBox().Text
        End Sub
    End Class

    messo nell'evento load




    ps: è un esempio molto datato, ma funziona. PrintLn è una procedura che fa Response.Write(xxxx & "
    ")


    l'istruzione che ti interessa è:

    AddHandler btn.Click, AddressOf btn1_click

    Pietro

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    dovresti mettere in firma "println e' una procedura che fa...."

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ho corretto il mio messaggio 3 volte e l'ho messo

    :maLOL: :rollo:
    Pietro

  7. #7
    Utente di HTML.it L'avatar di SPEED78
    Registrato dal
    Jan 2003
    Messaggi
    358
    grande pietrooooooooooooooooooooooooooooo mi hai dato un imbeccata mostruosa.
    Devo precisare però che non c'era bisogno di acciungere il placeholder, dovevo semplicemente dare un handless al bottone posto il codice cmq

    codice:
    Dim trn As New TableRow
                Dim tdn As New TableCell
                Dim btn As New Button
                btn.ID = "pippo"
                btn.Text = "Invia"
                AddHandler btn.Click, AddressOf pippo_Click1
    
                tdn.Controls.Add(btn)
                trn.Cells.Add(tdn)
                Table1.Rows.Add(trn)

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.