Jeg vil gerne vise nogle opslag i en tabel frem for brugeren. Det skal være en lang liste hvor hver record er et link. Nogle gange giver opslaget måske 50 records andre gange 10 eller 2.
Der er vel ingen grund til så at lave en mega tabel hver gang. Indholdet ændrer sig selvfølgelig også, men det gør antallet af søgeresultater også.
Henter du det data fra en database? Så er det jo blot at binde datasættet direkte til et datagrid eller en repeater. Så genereres der jo en tabel automatisk som passer til resultatet
Jeg kan ikke helt finde ud af om asp.net er det samme som asp, men her kommer et forslag som virker i asp. Data bliver hentede fra en Access database. Lad os antage at din tabel har felterne link og navn. <html> <body> <% 'Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("databasenavn.mdb")
Conn.Open DSN
'SQL sætning opbygges strSQL = "Select * From tabelnavn"
'SQL sætning eksekveres Set rs = Conn.Execute(strSQL) %> <table width="800" align="center" cellpadding="0" cellspacing="0"> <tr> <td><h1>Overskrift.</h1></td> </tr> <% If Not rs.EOF Then Do %> <tr> <td><a href="<%Response.Write rs("link")%>"> <%Response.Write rs("navn")%></a></td> </tr> <% 'Gå til næste Record i rs rs.MoveNext
'Fortsæt indtil rs er gennemløbet (EOF = End Of File) Loop While Not rs.EOF End If 'Luk databaseforbindelse Conn.Close Set Conn = Nothing %> </table> </body> </html>
Det er disse linier der er dynamiske. Do %> <tr> <td><a href="<%Response.Write rs("link")%>"><%Response.Write rs("navn")%></a></td> </tr> <% rs.MoveNext Loop While Not rs.EOF
Hehe ok. Det var jo også næsten blasfemi at vise sådan noget oldnodisk kode i denne kategori :-) Min fremgangsmåde kan du ikke benytte i ASP. Der må du selv loope dine rækker igennem.
<%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.oleDB"%> <script language="VB" runat=server> Sub Page_Load(Sender as Object, E as EventArgs)
Dim myConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=minDB.mdb") Dim strSQL As String = "Select * From minTabel" myConn.Open() Dim objDataCmd As OleDbDataAdapter = New OleDbDataAdapter(strSQL, MyConn) Dim objDS as new DataSet objDataCmd.Fill(objDS) myConn.Close() result.DataSource = objDS result.DataBind() End sub </script>
Man får DB-indholdet vist i en <table> (DB'en består af rækker og kolonner, og det gør tables heldigvis også :-)
Synes godt om
Ny brugerNybegynder
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.