Avatar billede CodingJoe Nybegynder
07. august 2011 - 18:46 Der er 6 kommentarer og
1 løsning

Oprettelse af Button i codebehind fil

Jeg forsøger helt enkelt på at lave en simpel submit knap i codebehind filen i en *.aspx fil. Dog kan jeg aldrig ramme min SubmitBtn_Click event. Hiver jeg derimod en BUtton kontrol ind på min aspx side og sætter den op. Så virker det helt fint med at ramme SubmitBtn_Click. Jeg kan desværre ikke bruge den løsning, da jeg SKAL oprette knappen i codebehind. Hvad mangler jeg for at kunne få neden stående til at virke?

protected void Page_Load(object sender, EventArgs e) {
      var submitBtn = new HtmlInputButton();
      submitBtn.Attributes.Add("type", "submit");
      submitBtn.Name = "SubmitBtn";
      submitBtn.ID = "SubmitBtn";
      submitBtn.Value = "Send data";
      submitBtn.Attributes.Add("onclick", "SubmitBtn_Click");
      Controls.Add(submitBtn);
}
protected void SubmitBtn_Click(object sender, EventArgs e) {
      Responce.Write("Succes");
}
Avatar billede keysersoze Guru
07. august 2011 - 18:54 #1
den onclick-attribut du tilføjer ender med at blive en javascript-event - prøv at sætte en rigtig click-event op, fx;

submitBtn.Click += new EventHandler(SubmitBtn_Click);
Avatar billede CodingJoe Nybegynder
07. august 2011 - 18:58 #2
Hmmm du siger noget... ved insættelse af knappen i aspx siden vha. drag 'n drop...kiggede jeg efter om, der i en partial class (i designer klassen) måske ligeledes blev oprettet en eventhandler. Kunne ikke finde nogen, så jeg fik i virkeligheden knappens source til at ligne den fra drag 'n drop...

Prøver lige dit forslag...det giver meget god mening :)
Avatar billede CodingJoe Nybegynder
07. august 2011 - 18:59 #3
submitBtn.Click <- Click genkendes desværre ikke... og der findes heller ikke en .OnClick.
Avatar billede CodingJoe Nybegynder
07. august 2011 - 19:02 #4
Med var submitBtn = new Button(); har jeg .Click, men så har jeg ikke navn, id, type etc.

Noget af det kan jeg sætte op vha. submitBtn.Attribute.Add(..).

Er lidt i tvivl om den får alle sine Serverside id'er sat korrekt op.
Avatar billede CodingJoe Nybegynder
07. august 2011 - 19:05 #5
Fik det til at virke med:

var submitBtn = new Button();
submitBtn.Attributes.Add("type", "submit");
submitBtn.Text = "Send data";
submitBtn.ID = "SubmitBtn";
submitBtn.Click += SubmitBtn_Click;
Controls.Add(submitBtn);

Det fungerede fint...smid et svar ind :D
Avatar billede keysersoze Guru
07. august 2011 - 19:19 #6
sry - havde ikke lige set hvilken type knap du benyttede. Medmindre du har nogen specielt grund til at benytte en HtmlInputButton ville jeg, når nu det er .NET du laver, benytte en .net-kontrol, altså en Button.
Avatar billede CodingJoe Nybegynder
07. august 2011 - 21:57 #7
Ja, jeg tog bare og lavede en HtmlInputButton...fordi øjet faldt over det. Det virker helt fint med Button. Tak for hjælpen :)
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