Avatar billede hulla Novice
09. juni 2009 - 12:45 Der er 6 kommentarer og
1 løsning

Onclick på asp:button

Hej

Jeg har et problem jeg aldrig har set før.
Jeg sætter en knap på en ascx control, og giver den en OnClick event. Hvis ikke jeg laver min eventhandler i min codebehind brokker den sig runtime, men er eventhandleren der, kommer jeg aldrig derind. Når jeg kigger i output html'en står der ingenting om noget click (der plejer at være en onclick="__dopostback.....".
Min ser sådan ud:

<input type="submit" name="ctl00$ctl00$ctl00$cntMainPlaceHolder$cntMainPlaceHolder$cntRight$ucDetails$BtnEdit" value="Rediger" id="ctl00_ctl00_ctl00_cntMainPlaceHolder_cntMainPlaceHolder_cntRight_ucDetails_BtnEdit" />

Nogen der har en ide om hvorfor der ikke sker noget med mit html output?

PS. Det drejer sig om en WebApplication ikke et WebSite, har det noget at sige?
Avatar billede keysersoze Guru
09. juni 2009 - 13:22 #1
du har ikke disabled postback på knappen? Sker der en postback når man klikker? Hvordan ser din kode ud?
Avatar billede hulla Novice
09. juni 2009 - 14:04 #2
Ja der sker et fint postback, og den ryger ind i page_load, bare aldrig i event handleren,. jeg er ved at lave en side der ligner den for at fejlfinde, og der virker det helt fint

Koden i markup ser sådan ud:
<asp:Button runat="server" ID="BtnEdit" OnClick="BtnEdit_Click" />

og i CodeBehind sådan:
public void BtnEdit_Click(object sender, EventArgs e)
{
}
Avatar billede Slettet bruger
09. juni 2009 - 14:45 #3
Slet alt hvad der har med knappen at gøre - både i din kildekode i din .aspx fil og i den codebehind og opret knappen igen. Dobbeltklik på knappen i stedet for at generere eventhandler på andre måder. Det burde virke.
Avatar billede Slettet bruger
09. juni 2009 - 14:46 #4
Evt:

public void BtnEdit_Click(object sender, EventArgs e)
{
Response.Write("Test med knap-klik"); for at se om den reagerer når du klikker på knappen.
}
Avatar billede hulla Novice
09. juni 2009 - 14:50 #5
Det gør den ikke, jeg har også prøvet med breakpoints.

Jeg kan nu se at det udelukkende sker når jeg dynamisk loader min UserControl, det virker glimrende når jeg sætter min UserControl direkte ind i min mark up.

Jeg gør sådan her når jeg loader mine kontroller:

LoadControl("~/user/Controls/View/ViewProfile.ascx")

og tilføjer den derefter til en Placeholder.
Avatar billede hulla Novice
09. juni 2009 - 15:07 #6
Hej igen

Tak for alle budene, men det viste sig at være pga. load tidspunktet for mine kontroller.
Da det blev flyttet fra PreRender til OnLoad virkede det helt anderledes dejligt ;-)
Avatar billede hulla Novice
09. juni 2009 - 15:08 #7
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester