Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[asp.net/vb] - Image button steelt textchanged event

Pagina: 1
Acties:
  • 211 views sinds 30-01-2008
  • Reageer

  • jimbo123
  • Registratie: November 2007
  • Laatst online: 26-03-2023
Ik heb een textbox met als naam "TextboxZoeken"
zodra ik hier iets invoer en op ENTER druk, wordt onderstaande code uitgevoerd.
De code werkt prima overigens.

code:
1
2
3
4
  Protected Sub TextboxZoeken_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        SqlDataSource1.SelectCommand = "SELECT * from [Relaties] WHERE [Klantnummer] like '%" & TextboxZoeken.Text & "%' or [Naam] like '%" & TextboxZoeken.Text & "%'"
        SqlDataSource1.DataBind()
    End Sub


Wanneer ik echter ook een image button heb, met een imagebutton_click event, dan wordt dit clickevent ook aangeroepen wanneer ik op ENTER druk na invoeren van text in de textbox

code:
1
2
3
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Response.Redirect("INVOEREN_Relatie.aspx")
    End Sub


Ik heb al een constructie proberen te maken als:

code:
1
2
3
4
5
6
7
8
9
    Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        If Not Page.IsPostBack Then
            Response.Redirect("INVOEREN_Relatie.aspx")
        Else
            SqlDataSource1.SelectCommand = "SELECT * from [Relaties] WHERE [Klantnummer] like '%" & TextboxZoeken.Text & "%' or [Naam] like '%" & TextboxZoeken.Text & "%'"
            SqlDataSource1.DataBind()
        End If
   
    End Sub


Dat leek te werken, want dan wordt wel netjes mijn textchanged event uitgevoerd, maar vervolgens werkt de clickevent van de image button niet meer.

Iemand enig idee hoe dit op te lossen zou zijn?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Je moet controleren op Page.IsValid ipv Page.IsPostback.

Daarnaast moet je eens kijken naar SQL Injection attacks.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

Zorg dat je een button hebt die je code uitvoert, als je dan op je container een DefaultButton zet, weet je zeker dat die button het event krijgt als je op enter drukt in een textbox.

NKCSS - Projects - YouTube


  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

m.b.t. injection:

Voeg de text uit input altijd in een parameter, je like kan je dan schrijven als: LIKE '%' + @inputdata + '%'

je hoeft ook alleen maar [] om db's, tables en kolommen heen te zetten als je spaties of een reserved name bevatten...

[ Voor 31% gewijzigd door CMG op 22-12-2007 13:58 ]

NKCSS - Projects - YouTube


  • jimbo123
  • Registratie: November 2007
  • Laatst online: 26-03-2023
Bedankt voor de reacties, maar als ik Page.IsValid gebruik dan blijft de situatie hetzelfde.
Ik heb een breakpoint gezet en zie dat Page.IsValid altijd "true" blijft. Hij is true wanneer ik op de image button click, maar ook wanneer ik op ENTER druk na invoeren van tekst in de tekstbox.

Waarom reageert die image button uberhaupt op ENTER? hij heeft nieteens focus...

  • jimbo123
  • Registratie: November 2007
  • Laatst online: 26-03-2023
*voorzichtig schopje omhoog*

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 19-11 21:48

Swerfer

Hmm...

Heb je de juiste defaultbutton gezet zoals CMG zei?
CMG schreef op zaterdag 22 december 2007 @ 13:56:
Zorg dat je een button hebt die je code uitvoert, als je dan op je container een DefaultButton zet, weet je zeker dat die button het event krijgt als je op enter drukt in een textbox.

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com

Pagina: 1