Avatar billede lotze Nybegynder
10. september 2006 - 21:07 Der er 20 kommentarer og
1 løsning

ASP.NET javascript kørsel.

Jeg skal have et javascript til at køre.

Dette virker!

<body onLoad="java script:BeginPageLoad();">   

Men dette virker ikke!

<asp:datagrid id="DataGrid1" style="Z-INDEX: 104; LEFT: 8px; POSITION: absolute; TOP: 80px" runat="server"
                        Width="368px" AutoGenerateColumns="False" OnItemCommand="java script:BeginPageLoad();">

Jeg får en masse fejl ved kompilering.
Error    2    ) expected    C:\Documents and Settings\Henrik\My Documents\Visual Studio 2005\WebSites\AtlasWebSite1\ChangeUser.aspx    105   
Error    3    Invalid expression term ':'    C:\Documents and Settings\Henrik\My Documents\Visual Studio 2005\WebSites\AtlasWebSite1\ChangeUser.aspx    105   
Error    4    ; expected    C:\Documents and Settings\Henrik\My Documents\Visual Studio 2005\WebSites\AtlasWebSite1\ChangeUser.aspx    105   
Error    5    Invalid expression term ')'    C:\Documents and Settings\Henrik\My Documents\Visual Studio 2005\WebSites\AtlasWebSite1\ChangeUser.aspx    105
Avatar billede snepnet Nybegynder
10. september 2006 - 21:25 #1
ItemCommand er et serverside event der hæves fra grid'et hvis der f.eks. er klikket på en knap i rækken, og du kan alene "pege" på en serverside metode der kan håndtere eventet.
Mvh
Avatar billede snepnet Nybegynder
10. september 2006 - 21:25 #2
Altså
OnItemCommand="enellerandenmetodeidinserversidekode"
Mvh
Avatar billede lotze Nybegynder
10. september 2006 - 21:36 #3
ok. Men hvordan skal jeg så aktiver mit javascript når der trykke på en knap i datagridet.
Avatar billede snepnet Nybegynder
10. september 2006 - 21:53 #4
Umiddelbart lyder BeginPageLoad ikke som et script der skal køres hver kan man klikker på en knap i en liste.... Hvad er det du gerne vil have til at ske?
Mvh
Avatar billede snepnet Nybegynder
10. september 2006 - 21:54 #5
hver kan = hver gang
Avatar billede lotze Nybegynder
10. september 2006 - 21:57 #6
den hedder det tilfældigt pga copy paste :)

Det er bare en lille indikator for at vise at der loades informationer. Lidt AJAX agtigt. Der hentes en aktiekurs og jeg vil gerne markere overfor brugeren at den arbejder. Det kan tage 1-2 sek.
Avatar billede snepnet Nybegynder
10. september 2006 - 22:19 #7
Et knap der kører et script er relativt ukompliceret at lave - f.eks.:
someButton.Attributes.Add("onclick","return confirm('blah');");
Du kan så self. kalde en eller anden metode istedet.
Hvis det er noget du har brug for flere steder, er det nemmeste næsten af du laver en custom button der kan den slags.
Mvh
Avatar billede lotze Nybegynder
10. september 2006 - 22:36 #8
ok. Er ikke helt med, da det skal køres når der trykkes datagrided's elementer
Avatar billede snepnet Nybegynder
10. september 2006 - 22:59 #9
Elementer? - er det ikke f.eks. en knap i rækken du vil trykke på?
Mvh
Avatar billede lotze Nybegynder
10. september 2006 - 23:08 #10
det er en kolonne i Datagridet, som er af typen "Button Column". Men det er ligegyldigt hvilket.
Avatar billede snepnet Nybegynder
10. september 2006 - 23:13 #11
Du kan bare sætte en template kolonne ind med en almindelig knap - du har lidt mere styr på det når du arbejder med kontrollerne direkte.
Mvh
Avatar billede lotze Nybegynder
10. september 2006 - 23:33 #12
Den har bare ikke noget command name, hvilket jeg bruger til udførelse af databasekald.

private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            if(e.CommandName == "NewRating")
            {
             
                System.Threading.Thread.Sleep(2000);
                this.LbStockname.Text = e.Item.Cells[1].Text;
                string temp=e.Item.Cells[1].Text;
                this.DlpConfirmRating.Visible=true;
           
                aktieprofet.DB_Komponent.DB_Access hentlink = new aktieprofet.DB_Komponent.DB_Access();
                string stocklink = hentlink.getlink(temp);
                findkurs ny = new findkurs();
                this.LbStockvalue.Text=ny.action(stocklink);
                this.DivChoseStock.Visible=false;
                this.DivVælgAktie.Visible = false;

            }
        }
Avatar billede snepnet Nybegynder
11. september 2006 - 00:16 #13
Du kan altid lægge et commandname/commandargument på en knap.
Mvh
Avatar billede lotze Nybegynder
11. september 2006 - 08:23 #14
OK. Prøver lige. Smid et svar og du får point.
Avatar billede lotze Nybegynder
11. september 2006 - 08:51 #15
Måske kan man lægge et commandname på en knap, men hvordan laver man en knap på en template kolonne?
Avatar billede snepnet Nybegynder
11. september 2006 - 13:11 #16
Du kan lave en templatekolonne sådan her (hvis du skulle have en kolonne der indeholder et bynavn ;o)

<asp:TemplateColumn HeaderText="City" SortExpression="City">
    <ItemTemplate>
        <asp:Label ID="lblCity" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "City") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateColumn>

Nu er der så en label indsat, men du kunne så lægge en knap ind istedet:

<asp:Button id="btn" runat="server" Text="Klik" OnClick="someClickHandler" />

Og du kan så sætte CommandName og Argument med noget i denne stil:
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id") %>'
CommandName="DELETE"
(bare et eksempel)

Mvh
Avatar billede lotze Nybegynder
11. september 2006 - 19:06 #17
Jeg er slet ikke med? TemplateColumn not a known element.
Avatar billede lotze Nybegynder
11. september 2006 - 19:11 #18
Fik template til at virke, men hvordan skal det erstatte et datagrid?
Avatar billede snepnet Nybegynder
11. september 2006 - 20:07 #19
Det skal bestemt ikke erstatte et datagrid .... du kan benytte templates til at definere hvordan dine rækker skal se ud. Mange af kontrollerne er template baserede. Tag f.eks. en repeater... Den viser overhovedet ikke noget som helst med mindre du definerer templates.
Mvh
Avatar billede lotze Nybegynder
12. september 2006 - 10:48 #20
ok. Jeg skal lige studere det nærmere. Smid et svar.
Avatar billede snepnet Nybegynder
12. september 2006 - 11:00 #21
Ok - kommer her.
Mvh
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