Avatar billede fun22 Nybegynder
15. juli 2007 - 12:46 Der er 13 kommentarer og
1 løsning

Omskrivning fra asp til asp.net

Hej..

Jeg har en kode her som virker fint i asp, men jeg kan ikke lige finde ud af hvordan jeg bedst laver den i asp.net?

<table border="0" width="90%" id="table4">
                        <tr>
                            <%
                            SQL = "SELECT * FROM wp_cat WHERE parent = '1'"
                            Set rs = Conn.Execute(SQL)
                           
                            I = 0
                           
                            do while not rs.eof
                           
                            I = I + 1
                           
                            CatTitle = rs("cat")
                            ParentID = rs("id")
                            %>
                            <td>
                           
                            <table border="0" cellspacing="0" cellpadding="0" style="background-image: url(img/search_box_bg.gif); width: 176px; height: 155px;">
                                <tr>
                                    <td style="padding: 5px; color: #800000"><b><a href="/?vis=search_result&Parent=<%=ParentID%>"><%=CatTitle%></a></b><br/>
                                    <%
                                    SQL = "SELECT * FROM wp_cat WHERE parent_id = " & ParentID & " LIMIT 9"
                                    Set rssub = Conn.Execute(SQL)
                                   
                                    do while not rssub.eof
                                   
                                    Cat = rssub("cat")
                                    ID = rssub("ID")
                                   
                                    If len(Cat) >= 23 then
                                        Dots = "..."
                                    else
                                        Dots = ""
                                    end if
                                   
                                    Response.write "&nbsp;- <a href='/?vis=search_result&Cat="& ID &"'>"& Left(Cat, 23) &Dots&"</a><br>"
                                   
                                    rssub.MoveNext
                                    Loop
                                    rssub.close
                                    %>
                                    <a href="/?vis=search_result&Parent=<%=ParentID%>">Vis alle</a>
                                    </td>
                                </tr>
                            </table>
                           
                            </td>
                            <%
                            if I = 3 then
                                response.write "</tr><tr>"
                                I = 0
                            end if
                           
                            rs.MoveNext
                            Loop
                            rs.close
                            %>   
                        </tr>
                    </table>

Spørgsmålet er så hvordan jeg nemmest for det konvateret.. Er det noget med en repeater eller??
Avatar billede arne_v Ekspert
15. juli 2007 - 16:30 #1
Det kunne godt ligne en nestet repeater.
Avatar billede fun22 Nybegynder
15. juli 2007 - 20:31 #2
Okay jeg tror, jeg nu har fået styr på det med de to repeatorer.. Men Jeg har lidt svært ved mine to datasourcer..

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
                            SelectCommand="SELECT * FROM [Category] WHERE ([parent] = @parent)">
                            <SelectParameters>
                                <asp:Parameter DefaultValue="1" Name="parent" Type="Byte" />
                            </SelectParameters>
                        </asp:SqlDataSource>
                        <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
                            SelectCommand="SELECT * FROM [Category] WHERE ([parentId] = @parentId)">
                            <SelectParameters>
                                <asp:Parameter DefaultValue="1" Name="parentId" Type="Int32" />
                            </SelectParameters>
                        </asp:SqlDataSource>

I DataSource1 har jeg et felt der hedder ID..
I DataSource2 skal jeg så have sådan at den henter der hvor ParentID er = med ID fra DS1..

Men hvordan gør jeg deT??
Avatar billede snepnet Nybegynder
16. juli 2007 - 11:29 #3
Avatar billede fun22 Nybegynder
16. juli 2007 - 15:20 #4
Fin artikel, dog er jeg i tvivl om hvad jeg skal ændre her:

Dim category As Northwind.CategoriesRow = _
                CType(CType(e.Item.DataItem, System.Data.DataRowView).Row, _
                    Northwind.CategoriesRow)

Jeg bruger jo ikke Northwind.. OG den melder fejl..
Avatar billede fun22 Nybegynder
17. juli 2007 - 18:06 #5
Er i der??
Avatar billede snepnet Nybegynder
18. juli 2007 - 10:16 #6
Jeps - nu er vi :o)
Hvis du har gjort som i artiklen har du mulighed for at skrive den vise kode mod dine egen tabeller, formentlig noget i stil med:
Dim row As <din database>.wp_catRow = CType(CType(e.Item.DataItem, System.Data.DataRowView).Row, <din database>.wp_catRow)
Mvh
Avatar billede fun22 Nybegynder
19. juli 2007 - 10:47 #7
Hvis jeg skriver SqlDataSource.wp_catrow så kommer der fejl.. I det hele taget kan jeg ikke skrive noget efter SqlDataSource..
Avatar billede snepnet Nybegynder
19. juli 2007 - 12:13 #8
Det er også navnet på en type i asp.net - næppe navnet på din database.
Men fungerer det hvis du fjerner bemeldte kode?
Mvh
Avatar billede fun22 Nybegynder
19. juli 2007 - 12:16 #9
Nej det gør det ikke.. Men navnet på min database, hvor ser jeg det henne?? Filnavnet er Database.mdf, og datasourcen hedder SqlDataSource1, og den har jeg også prøvet med..
Avatar billede fun22 Nybegynder
22. juli 2007 - 17:29 #10
?????
Avatar billede fun22 Nybegynder
23. juli 2007 - 16:51 #11
Jeg fandt en anden metode..

Hvis man smider en label, på der hvor der skal hentes data fra en anden tabel, og får ID ind i labelen, og så i repeaterens itemdatabound gør sådan at den henter ID fra labelen og så køre en lykke i codebehind.. Det giver det samme.. Men ved ikke om det er mere sløvt??
Avatar billede neoman Novice
23. juli 2007 - 17:05 #12
Det kommer an på hvad du laver derinde og hvad behovene er. Artiklen viste en metode til at hente data fra DB for den indre repeater for hver record i den ydre, samt en metode til at hente alle data en gang for alle de indre repeaters, og blot derpå filtrere dem passende inden visning i den pågældende indre repeater.

Husk lige at kigge på sqldatasourcens DataSourceMode indstillinger: den kan sættes til at levere et dataset (det er default, og er påkrævet hvis man skal lave efterfølgende filtrering i datasettet, lidt som i artiklens metode), eller som DataReader, hvilket er meget mindre krævende.
Avatar billede fun22 Nybegynder
31. maj 2008 - 00:00 #13
Smider i et svar?
Avatar billede fun22 Nybegynder
12. juni 2010 - 21:41 #14
Lukker..
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