Avatar billede chanlo Nybegynder
07. september 2005 - 13:47 Der er 15 kommentarer og
1 løsning

tilføje knap fra codebehind

Jeg tilføjer en knap fra codebehind:

LinkButton lnkbut = new LinkButton();
lnkbut.Text="test";
lnkbut.CssClass="test";
lnkbut.CommandArgument="test";
lnkbut.CommandName="test";
lnkbut.Attributes.Add("OnCommand","test_Click");
pnltest.Controls.Add(lnkbut);

og jeg har en metode:

public void test_Click(object source, System.Web.UI.WebControls.CommandEventArgs e)
{
    //gør noget her   
}


Men min knap kalder ikke motoden når man klikker på den.

Hvad gør jeg galt?
Avatar billede snepnet Nybegynder
07. september 2005 - 13:50 #1
du skal hooke op på eventet såda her :

lnkbut.Click += new EventHandler(test_Click);

mvh
Avatar billede snepnet Nybegynder
07. september 2005 - 13:54 #2
hov - og så skal du ændre dit CommandEventArgs til EventArgs.
mvh
Avatar billede snepnet Nybegynder
07. september 2005 - 13:56 #3
du kan stadig godt få fat i CommandName og Argument :

// i handleren

LinkButton lbtn = source as LinkButton;
if(lbtn != null)
{
  string commandName = lbtn.CommandName;
  string commandArgument = lbtn.CommandArgument;
}

mvh
Avatar billede chanlo Nybegynder
07. september 2005 - 14:04 #4
new EventHandler tager vist 2 argumenter....
Avatar billede snepnet Nybegynder
07. september 2005 - 14:10 #5
nej - du skriver det bare som eksemplet 13:50:29.
du kan udelukkende pege på en metode - compileren sikrer så at metoden du peger på overholder delegaten - som i dette tilfælde er System.EventHandler, hvilket igen medfører at den motode du peger på skal tage 2 argumenter (object og EventArgs).
mvh
Avatar billede chanlo Nybegynder
07. september 2005 - 14:29 #6
Jeg har nu:

public void test_Click(object source, EventArgs e)
{
    Response.Redirect("www.jubii.dk");
}

og:

LinkButton lnkbut = new LinkButton();
lnkbut.Text="test";
lnkbut.CommandArgument="test";
lnkbut.CommandName="test";
lnkbut.Attributes.Add("OnCommand","test_Click");
lnkbut.Click += new EventHandler(test_Click);


Jeg kommer ikke op i metoden....
Avatar billede chanlo Nybegynder
07. september 2005 - 15:58 #7
har lige lavet en lille test hvor det virker.

vender tilbage....
Avatar billede snepnet Nybegynder
07. september 2005 - 16:05 #8
var lige ude.
denne her har du ikke noget at bruge til, så den kan du bare slette:
lnkbut.Attributes.Add("OnCommand","test_Click");

der er ikke noget i vejen med den kode du har vist ellers - det er sådan det skal kodes, men der er bestemt situationer hvor det ikke vil virke, men det er afhængig af hvor/hvornår/hvordan du sætter knappen ind.

mvh
Avatar billede chanlo Nybegynder
07. september 2005 - 16:12 #9
åbenbart, når jeg laver knappen inden i en anden klik metode virker det ikke...
Avatar billede chanlo Nybegynder
07. september 2005 - 16:15 #10
jeg har en klikmetode hvor jeg laver knappen sætter panelet til visible=true.
det virker fint og jeg kan se knappen. men når jeg klikker på knappen bliver panelet bare tomt... selv om der skulle komme en test redirect.
Avatar billede snepnet Nybegynder
07. september 2005 - 16:18 #11
nej, men det er klart nok.

du sætter jo udelukkende knappen ind når der klikkes på knap nummer 1 - så når du klikker på knap nummer 2 (den du har indsat i eventhandleren for knap nummer 1), så indsættes den overhovedet ikke, og events fra den kan deraf ikke håndteres.

der findes løsninger af den slags, hvis det er sådan noget du skal have til at virke.

mvh
Avatar billede chanlo Nybegynder
07. september 2005 - 16:21 #12
hvad kan jeg så gøre.. har du en ide?
Avatar billede snepnet Nybegynder
07. september 2005 - 16:27 #13
Avatar billede chanlo Nybegynder
07. september 2005 - 16:34 #14
ok, det er åbenbart værre end jeg regnede med... jeg vil prøve en anden tankegang istedet. send bare et svar.
Avatar billede snepnet Nybegynder
07. september 2005 - 16:39 #15
hehe - ja der er visse ting der ikke er helt ligetil.
du får et svar her, og ellers må du jo bare spørge.
men ja - der er visse forhold man er bedst tjent med at tænke sig ud af, inden det bliver for krøllet.

mht. dine knapper så er det ikke nødvendigvis værre end at du bare styre noget visibility på dem - det kan self også blive lidt bøvlet, hvis du har mange kontroller der skal vises/fjernes - men det er i hvert fald et simpelt princip, og det kan sagtens anvendes.

mvh
Avatar billede chanlo Nybegynder
07. september 2005 - 16:43 #16
;-) tak
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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