Toon posts:

[C# / asp.NET] EventHandler wordt niet uitgevoerd.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik probeer een CommandEventHandler aan een linkbutton te hangen. De methode die vervolgens aangeroepen moet worden wordt niet uitgevoerd na een klik op die button. In plaats daarvan wordt de originele pagina overnieuw geladen lijkt het wel.

Hier het aanmaken van de linkbutton (Dit zit in de Page_Load):
code:
1
2
3
4
5
6
lb_huisdetails = new LinkButton();
                    lb_huisdetails.ID = huisid.ToString();
                    lb_huisdetails.Text = "Huisdetails";
                    lb_huisdetails.Command += new CommandEventHandler(HuisDetails_onClick);
                    lb_huisdetails.CommandArgument = huisid.ToString();
                    huisinfo.Controls.Add(lb_huisdetails);


Hier de methode die aangeroepen moet worden:
code:
1
2
3
4
5
protected void HuisDetails_onClick(Object Sender, CommandEventArgs e)
        {
            Response.Write("test");
            huisdetails.Controls.Add(LoadControl("huisdetails.ascx"));  
        }


Iemand enig idee wat ik fout kan doen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:00
Wat gebeurt er als je in asp.net op een button klikt:

de page_load wordt opnieuw uitgevoerd
de button-click wordt uitgevoerd.

Tipje: IsPostBack

https://fgheysels.github.io/


Verwijderd

Topicstarter
Zou je die tip iets kunnen toelichten? Ik ben er nog niet zo in thuis zoals je al gemerkt hebt waarschijnlijk.

[ Voor 3% gewijzigd door Verwijderd op 16-05-2005 18:27 ]


Verwijderd

Topicstarter
Moet ik

code:
1
if(Page.IsPostBack)


en dan daar overnieuw de handler aan de button koppelen? Dit heb ik geprobeerd, maar zelfde effect.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:00
Je moet ervoor zorgen dat de acties die in je page_load gebeuren, en maar 1x moeten gebeuren (bij de eerste keer dat de page-load uitgevoerd wordt dus) in dit block staan:
code:
1
2
3
if( ! this.IsPostBack )
{
}

https://fgheysels.github.io/


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Check of the event handler wel wordt gebind in InitializeComponent. VS.NET haalt die bindings nog wel eens weg spontaan.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:00
EfBe schreef op maandag 16 mei 2005 @ 20:15:
Check of the event handler wel wordt gebind in InitializeComponent. VS.NET haalt die bindings nog wel eens weg spontaan.
Hij bind z'n event-handler zelf in z'n page-load.
Is het trouwens niet beter dat je die code die de control toevoegt niet in de page-load maar in de page-init zet ?

[ Voor 20% gewijzigd door whoami op 16-05-2005 20:40 ]

https://fgheysels.github.io/


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 13:25
whoami schreef op maandag 16 mei 2005 @ 19:53:
Je moet ervoor zorgen dat de acties die in je page_load gebeuren, en maar 1x moeten gebeuren (bij de eerste keer dat de page-load uitgevoerd wordt dus) in dit block staan:
code:
1
2
3
if( ! this.IsPostBack )
{
}
Het toevoegen van controls dient toch bij elke postback te gebeuren?
Dan heb je die 'IsPostBack' dus juist niet nodig.

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
EfBe schreef op maandag 16 mei 2005 @ 20:15:
Check of the event handler wel wordt gebind in InitializeComponent. VS.NET haalt die bindings nog wel eens weg spontaan.
Inderdaad, iemand toevallig een oplossing hiervoor? Erg irritant moet ik zeggen.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
P_de_B schreef op dinsdag 17 mei 2005 @ 09:14:
[...]


Inderdaad, iemand toevallig een oplossing hiervoor? Erg irritant moet ik zeggen.
Wachten tot visual studio 2005 uitkomt. Daar lijkt het ieder geval een stuk beter te werken. Helaas duurt dit nog tot november.

Voor zover ik weet bestaat er geen oplossing voor het probleem.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1