Avatar billede kalle_mod Nybegynder
10. august 2005 - 20:06 Der er 7 kommentarer og
1 løsning

data fra repeater over i link?

Hejsa Eksperter!

Jeg har en repeater hvor jeg har brugt databind() fra en database.

Jeg har nu det problem at det for hvert record(som er en bruger) skal være muligt enten at afvise(slette i databasen) eller godkende(en opdatering i databasen), men når den laver en lang liste med brugere der alle har hver deres link, hvordan gør jeg det så muligt at skelne brugerne fra hinanden...I asp kunne man i linket tilsætte ?bruger=" & rs("id"), er det muligt at bruge noget lign. i linket?

Jeg vil desuden lige spørge om det er muligt at kalde en sub via OnClick i linket, hvis det er, så må det vel være muligt at bruge f.eks.: <asp:link OnClick="SletBruger(<%#container.dataitem("id")%>)">Slet bruger</asp:link> ?

På forhånd tak
Kalle
Avatar billede mach3 Nybegynder
10. august 2005 - 21:55 #1
Du kan vælge at lave en

void Test(Object Sender, RepeaterCommandEventArgs e)
{
    string strTest = ((HyperLink)e.Item.FindControl("hlTest")).Text;
}

I .aspx hvor Repeater er erklæret tilføjer du så
    OnItemCommand = "Test"

Så skulle man få fat på værdien i den række, som der er blevet klikket på.
Avatar billede kalle_mod Nybegynder
10. august 2005 - 22:50 #2
kan jeg evt. få den i vb.net versionen?...noget med:

sub godkend(sender as object, e as repeatercommandeventargs)

dim strTest

strTest = e.item.findcontrol("hltest").text

end sub

??

du får lige link-delen også:
<asp:HyperLink id="lnkAdd" runat="server">Godkend</asp:HyperLink>

Kalle
Avatar billede mach3 Nybegynder
10. august 2005 - 23:32 #3
Hej,

Ja det ser rigtigt ud. Husk dog lige at caste til HyperLink:

strTest = ((HyperLink)e.item.findcontrol("lnkAdd")).text
Avatar billede kalle_mod Nybegynder
11. august 2005 - 15:31 #4
nu kommer den lidt mere avancerede del jo så ind, for hvordan finder jeg så ud af hvilken bruger det er der skal godkendes? Alle links har jo teksten Godkend? findes der en value til hyperlinks i asp.net?
Avatar billede mach3 Nybegynder
11. august 2005 - 21:51 #5
Det må jo så være den bruger som der er blevet klikket på - dvs den række som der er blevet klikket på. Og det får du fat på med den skrevne kode.

Mvh
Avatar billede mach3 Nybegynder
11. august 2005 - 21:58 #6
Hvad er brugeren repræsenteret som i koden? Eksempelvis hvis det er en Label:

strBruger = ((Label)e.item.findcontrol("lblBruger")).text

Så skulle du gerne få fat på brugeren i den række som der er blevet klikket på.
Avatar billede kalle_mod Nybegynder
12. august 2005 - 09:13 #7
Her er min kode:
<asp:Label id="lblAfventende" runat="server" visible="False"></asp:Label>
            <asp:Repeater id="afventende" runat="server">
                <headertemplate>
                    <table border="0">
                        <tr bgcolor="#b0c4de">
                            <th>
                                Brugernavn</th>
                            <th>
                                Idnummer</th>
                            <th>
                                Oprettet</th>
                            <th>
                                Action</th>
                        </tr>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr bgcolor="#f0f0f0">
                        <td>
                            <%#Container.DataItem("brugernavn")%>
                        </td>
                        <td>
                            <%#Container.DataItem("idnummer")%>
                        </td>
                        <td>
                            <%#Container.DataItem("oprettet")%>
                        </td>
                        <td>
                            <asp:HyperLink id="lnkAdd" runat="server">Godkend</asp:HyperLink>
                            |
                            <asp:HyperLink id="lnkdecline" runat="server">Afvis</asp:HyperLink>
                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>

'Godkend en bruger der er oprettet, så vedkommende kan logge ind på siden
sub GodkendBruger(sender As Object, e As EventArgs)

dim dbconn, dbcomm, sql
dbconn = new OleDBConnection("provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("login.mdb"))
dbconn.open()

sql="update login set aktiv=true where brugernavn=''" 'i denne linie skal brugernavnet fra den pågældende række bruges!
dbcomm = new OleDBCommand(sql, dbconn)
dbcomm.executeNonQuery()
dbconn.close()

end sub

Kalle
Avatar billede kalle_mod Nybegynder
30. august 2005 - 13:01 #8
nå fik det løst ved at lave om til datagrid og bruge commandname og lign.

Kalle - lukker igen
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