Avatar billede halden Nybegynder
03. januar 2004 - 16:11 Der er 24 kommentarer og
2 løsninger

Bedste og nemmeste præsentation af nyheder fra xml fil

Jeg har en xml fil med nyheder som ser således ud:

<?xml version="1.0" encoding="utf-8" ?>
<nyheder>
  <NewsItem>
    <Title>Test</Title>
    <Date>3. Januar 2004</Date>
    <Text>Dette er en test for at se om nyhedsfuktionen virker som den skal. Hvis den er succesfuld vil
          den nok blive implementeret.</Text>
  </NewsItem>

  <NewsItem>
    <Title>Nyt Website under udvikling</Title>
    <Date>2. Januar 2004</Date>
    <Text>Nu er udviklingen af et nyt og forbedret website igangsat og forventes at være færdig
          i starten af Marts måned. </Text>
  </NewsItem>
</nyheder>

det skal jeg så have vist i et panel eller et eller andet på en pæn måde. Giv mig nogle foreslag og eksempler...
Grunden til at jeg har valgt et panel er at jeg skal have en vandmærke/baggrundsbillede ind. Ville andet end et panel være at foretrække???
p.s. er newbie til asp.net
Avatar billede nielsbrinch Nybegynder
03. januar 2004 - 16:15 #1
Man kan bruge en xml-fil direkte som source til en repeater, så vidt jeg ved. Jeg er selv ret ny, så jeg kan ikke give meget mere detaljerede oplysninger om det, men det er nok den nemmeste måde, i hvert fald.
Avatar billede lauge Nybegynder
03. januar 2004 - 16:18 #2
Avatar billede halden Nybegynder
03. januar 2004 - 16:30 #3
->lauge: en RadiobuttonList er sku ikke ret pæn at præsentere nyheder i...
Avatar billede lauge Nybegynder
03. januar 2004 - 16:45 #4
haha - nej med jeg troede bare du ville se hvordan man kunne "binde" en control til en xml fil.
Avatar billede lauge Nybegynder
03. januar 2004 - 16:48 #5
så er det jo bare at smide et datagrid ind med samme id som i eksemplet:

<asp:DataGrid id="rb"  runat="server"></asp:DataGrid>
Avatar billede lauge Nybegynder
03. januar 2004 - 16:51 #6
eller en repeater:
<asp:Repeater id="rb" runat="server">
<itemtemplate>
<%#DataBinder.Eval(Container.DataItem, "Felt-Navn")%>   
</itemtemplate>
</asp:Repeater>
Avatar billede halden Nybegynder
03. januar 2004 - 20:11 #7
nu har jeg prøvet at få det ind men kan ikke rigtigt få det til at virke - se her:
Dette er i min .cs fil:

  protected System.Web.UI.WebControls.Repeater rp;

  private void Page_Load(object sender, System.EventArgs e)  {
    DataSet ds = new DataSet();
    ds.ReadXml(Server.MapPath("./data/nyheder.xml"));
    rp.DataSource = ds;
    rp.DataBind();
  }

og lidt fra aspx filen:

<asp:Repeater id="rp" runat="server">
  <ItemTemplate>
    <table border=1>
      <tr>
        <td><%#DataBinder.Eval(Container.DataItem, "Titel")%></td>
        <td><%#DataBinder.Eval(Container.DataItem, "Dato")%></td>
      </tr>
      <tr>
        <td><%#DataBinder.Eval(Container.DataItem, "Tekst")%></td>
      </tr>
    </table>
  </ItemTemplate>
</asp:Repeater>

hvorfor virker det ikke?????
Avatar billede halden Nybegynder
03. januar 2004 - 20:13 #8
og xml filen er ændret lidt i forhold til den første post:

<?xml version="1.0" encoding="utf-8" ?>
<nyheder>
  <NyhedsEnhed>
    <Titel>Test</Titel>
    <Dato>3. Januar 2004</Dato>
    <Tekst>Dette er en test for at se om nyhedsfuktionen virker som den skal. Hvis den er succesfuld vil
          den nok blive implementeret.</Tekst>
  </NyhedsEnhed>

  <NyhedsEnhed>
    <Titel>Nyt Website under udvikling</Titel>
    <Dato>2. Januar 2004</Dato>
    <Tekst>Nu er udviklingen af et nyt og forbedret website igangsat og forventes at vre f&#65533;rdig
          i starten af Marts m&#65533;ned. </Tekst>
  </NyhedsEnhed>
</nyheder>
Avatar billede lauge Nybegynder
03. januar 2004 - 20:20 #9
hvad får du af fejl?
Avatar billede halden Nybegynder
03. januar 2004 - 20:24 #10
jeg får ingen fejl - den viser bare ikke noget. Ingen repeater, ingen table intet
Avatar billede halden Nybegynder
03. januar 2004 - 20:27 #11
<asp:Panel ID="nyheder" Height="100%" Width="100%" Wrap="true" ScrollBars="Auto" Runat="server">
                                    <CENTER>test1
                                        <form runat=server>
                                            <asp:Repeater id="rp" runat="server">
                                                <ItemTemplate>
                                                    <table border=1>
                                                        <tr>
                                                            <td>test<%#DataBinder.Eval(Container.DataItem, "Titel")%></td>
                                                            <td>test<%#DataBinder.Eval(Container.DataItem, "Dato")%></td>
                                                        </tr>
                                                        <tr>
                                                            <td>test<%#DataBinder.Eval(Container.DataItem, "Tekst")%></td>
                                                        </tr>
                                                    </table>
                                                </ItemTemplate>
                                            </asp:Repeater>
                                        </form>
                                    </CENTER>
                                </asp:Panel>
Avatar billede lauge Nybegynder
03. januar 2004 - 20:27 #12
prøv lige at skrive noget tekst i cellerne i tabellen - bare for at se om den over hovdet looper noget ud.
Avatar billede halden Nybegynder
03. januar 2004 - 20:27 #13
den skriver fint test1
Avatar billede lauge Nybegynder
03. januar 2004 - 20:27 #14
ok - det kan jeg se du gør - sorry du postede dit indlæg mens jeg skrev
Avatar billede nielsbrinch Nybegynder
03. januar 2004 - 20:28 #15
Det ser ellers rigtig nok ud, synes jeg. Har du kigget i indholdet af dit DataSet for at se om XML'en bliver indlæst rigtigt nok.
Avatar billede halden Nybegynder
03. januar 2004 - 20:30 #16
hvordan gør jeg det???
Avatar billede halden Nybegynder
03. januar 2004 - 20:53 #17
Den vil ikke skrive en skid ud i asp:repeater - heller ikke engang hvis jeg sætter følgende ind:
<HeaderTemplate>fhgfghg</HeaderTemplate>

hvad fanden sker der???
Avatar billede nielsbrinch Nybegynder
03. januar 2004 - 21:02 #18
rp.Visible = true måske :)
Avatar billede halden Nybegynder
03. januar 2004 - 21:07 #19
nope - heller ikke det virkede.
Avatar billede lauge Nybegynder
03. januar 2004 - 21:08 #20
kan du ikke prøve at lave et datagrid som jeg viste tidligere, og så bare teste om det skriver noget ud.
Avatar billede halden Nybegynder
03. januar 2004 - 23:30 #21
nu har jeg prøvet at smide alt koden i aspx filen og nu virker det som det skal. Det der med at have en fil til asp kode og en anden til html koden er åbenbart ikke så godt.
Og fuck hvor er VS.NET irriterende - den ændre selv i den koden man har skrevet hvis man lukker VS.NET og åbner den igen - total skod
Avatar billede lauge Nybegynder
03. januar 2004 - 23:37 #22
virker det så nu eller hvad?

Det der shit med at VS ændre din kode - det kan du jo slå fra under options.
Avatar billede halden Nybegynder
03. januar 2004 - 23:43 #23
jeps, det virker nu.
Hvor præsis slår jeg det fra????
Avatar billede lauge Nybegynder
03. januar 2004 - 23:47 #24
det kan jeg ikke lige huske - men gå ALLE faneblade igennem under options - der liger mange guldkorn som du kan slå fra og til som gør det noget sjovere at arbejde VS.
Avatar billede halden Nybegynder
04. januar 2004 - 00:47 #25
->lauge: selvom du ikke direkte løste mit problem så hjalp du mig meget hen af vejen - så vi kan vel dele pointene. Så smid et svar.
Avatar billede lauge Nybegynder
04. januar 2004 - 00:53 #26
ja ja
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