Avatar billede Slettet bruger
11. marts 2004 - 14:34 Der er 8 kommentarer og
1 løsning

Hent data fra db og brug i javascript

Hej
- Først skal det lige siges at jeg er nybegynder i asp.net og jeg har stort set ikke arbejdet med javascript.
Jeg vil hente data fra en access db, som jeg så vil "indsætte" i et javascript.

Koden der henter data fra db:

<%@Import Namespace="System.Data.OleDB"%>

<script Runat="server">

' Henter Nyhedre
Sub BindDataGrid( strSortField As String )
    Dim DbConn As OleDbConnection
    Dim SqlCmd As OleDbCommand
   
    DbConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=c:\inetpub\wwwroot\database\nyheder.mdb")
    SqlCmd = New OleDbCommand( "Select * FROM nyhed ORDER BY nummer", DbConn )
    DbConn.Open()
    ' Bind to repeater
    rptSamling.DataSource = SqlCmd.ExecuteReader()
    rptSamling.DataBind()
   
    DbConn.Close()
End Sub

</script>

<asp:Repeater
    Id="rptSamling"
    Runat="Server">

<ItemTemplate>
nNews[<%# Container.DataItem( "nummer" )%>]=new Array()<br>
nNews[<%# Container.DataItem( "nummer" )%>]["text"]="<%# Container.DataItem( "resume" )%>"
nNews[<%# Container.DataItem( "nummer" )%>]["link"]="<%# Container.DataItem( "Link" )%>"
</ItemTemplate>

</asp:Repeater>

Derefter vil jeg gerne indsætte det i et javascript. Det har jeg gjort ved at include ovenstående fil, men det virker ikke. Det ser ud som følger

nNews=new Array()
<!--#include file="c:\inetpub\wwwroot\modules\nyheder\NyhederTilBanner.aspx"-->

Det skulle gerne ende ned at set ud som:

nNews[0]=new Array()
nNews[0]["text"]="Her vælter nyhedderne frem igen og igen og igen og igen og igen"
nNews[0]["link"]

nNews[1]=new Array()
nNews[1]["text"]="Og der er mulighed for at vise forskellige nyhedder igen og igen og igen og igen..."
nNews[1]["link"]

Håber at det er en der kan løse dette - på forhånd tak.
Avatar billede burningice Nybegynder
11. marts 2004 - 14:47 #1
prøv at bruge DataBinder.Eval istedet

nNews[<%# DataBinder.Eval(Container.DataItem, "nummer") %>]=new Array()<br>

osv.
Avatar billede Slettet bruger
12. marts 2004 - 01:03 #2
Det kan jeg ikke få til at virke - jeg har det til at se ud som følger:

<%@Import Namespace="System.Data.OleDB"%>

<script Runat="server">

' Henter Nyhedre
Sub BindDataGrid( strSortField As String )
    Dim DbConn As OleDbConnection
    Dim SqlCmd As OleDbCommand
   
    DbConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=c:\inetpub\wwwroot\database\nyheder.mdb")
    SqlCmd = New OleDbCommand( "Select * FROM nyhed ORDER BY nummer", DbConn )
    DbConn.Open()
    ' Bind to repeater
    rptSamling.DataSource = SqlCmd.ExecuteReader()
    rptSamling.DataBind.eval()
   
    DbConn.Close()
End Sub

</script>

<asp:Repeater
    Id="rptSamling"
    Runat="Server">

<ItemTemplate>
nNews[<%# DataBinder.Eval(Container.DataItem, "nummer") %>]=new Array()
nNews[<%# DataBinder.Eval(Container.DataItem, "nummer") %>]["text"]="<%# DataBinder.Eval(Container.DataItem, "resume") %>"
nNews[<%# DataBinder.Eval(Container.DataItem, "nummer") %>]["link"]="<%# DataBinder.Eval(Container.DataItem, "nummer") %>"
</ItemTemplate>

</asp:Repeater>


....og javascript ser oprindelig ud som følger (udsnit):

nNews[0]=new Array()
nNews[0]["text"]="Her vælter nyhedderne frem igen og igen og igen og igen og igen"

nNews[1]=new Array()
nNews[1]["text"]="Og der er mulighed for at vise forskellige nyhedder igen og igen og igen og igen..."

nNews[2]=new Array()
nNews[2]["text"]="Klik her for at se jubii's hjemmeside"
nNews[0]=new Array()
nNews[0]["text"]="Her vælter nyhedderne frem igen og igen og igen og igen og igen"

nNews[1]=new Array()
nNews[1]["text"]="Og der er mulighed for at vise forskellige nyhedder igen og igen og igen og igen..."
nNews[0]=new Array()
nNews[0]["text"]="Her vælter nyhedderne frem igen og igen og igen og igen og igen"
nNews[0["link"]=""

nNews[1]=new Array()
nNews[1]["text"]="Og der er mulighed for at vise forskellige nyhedder igen og igen og igen og igen..."
nNews[1["link"]=""

nNews[2]["text"]="Klik her for at se Mi-lo' hjemmeside"
nNews[2]["link"]="http://www.Mi-lo.dk"

nNews[2]=new Array()
nNews[2]["text"]="Klik her for at se Mi-lo' hjemmeside"
nNews[2]["link"]="http://www.Mi-lo.dk"

Hvad gør jeg galt?
Avatar billede burningice Nybegynder
13. marts 2004 - 18:46 #3
og hvordan ser det ud når det bliver renderet af asp.net?
Avatar billede Slettet bruger
24. marts 2004 - 00:21 #4
Den skriver absolout intet ud :-(
Det skal lige siges at jeg har skrevet "rptSamling.DataBind()" istedet for "rptSamling.DataBind.eval()".
Har du nogen godt forslag?
Avatar billede burningice Nybegynder
24. marts 2004 - 00:30 #5
og du er sikker på der er noget i din reader?
Avatar billede Slettet bruger
24. marts 2004 - 02:48 #6
Ja - min db er ikke tom. Er det det du mener?
Avatar billede burningice Nybegynder
24. marts 2004 - 10:09 #7
SqlCmd.ExecuteReader()... sikker på den returnerer noget?
Avatar billede Slettet bruger
17. maj 2007 - 20:57 #8
burningice -> Sender du et svar - så lukker jeg.
Avatar billede Slettet bruger
07. februar 2011 - 09:20 #9
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