Avatar billede micker Praktikant
25. maj 2012 - 21:43 Der er 4 kommentarer

Hjemmeside baseret på XML i asp.net

Hejsa

Jeg får løbende nogle XML filer som jeg gerne vil vise i en tabel på en hjemmeside kodet i asp.net c#.

Jeg forestiller mig at vise enkelte oplysninger i tabellen, samt et billede. Filnavnet på billederne, er refereret i XML filen.

Man skal kunne angive nogle søge kriterier. Så kun relevante vises.

Jeg vil så gerne lave en link for hver række i tabellen, der så viser detaljerne.

Et enkelt eksempel kunne være en XML-fil med biler:
<Cars>
  <Car carID = "1">
    <Brand>Opel</Brand>
    <Model>Kadett</Model>
    <Engine>1.3</Engine>
    <Fuel>Gasoline<Fuel>
    <Date>01.01.2000</Date>
    <Price>58.000</Price>
    <Description>Bla bla</Descroption>
    <Photo>Car1.jpg</Photo>
  </Car>
</Cars>

I tabellen vises Billede, Brand, Model, Date, og et link til detajler.

Hvis man klikker på linket, vises alt.

Og så nogle fritekst felter, hvor man kan søge efter ekselpelvis Brand.

Er der nogen der kan give mig et fingerpeg i den rigtige retning?

Jeg forestiller mig xslt, men kan man modificere denne til søgekriterierne?

Eller er der en bedre og nemmere måde?

På forhånd tak.
Avatar billede arne_v Ekspert
25. maj 2012 - 21:50 #1
Det lyder som du skal bruge XSLT til XML->HTML/XHTML.

XSLT kan godt selecte kun en del ud.
Avatar billede micker Praktikant
27. maj 2012 - 16:45 #2
Hej Arne

Jeg har valgt en lidt anden vej, men det kan være du stadig kan hjælpe mig. Jeg er ret/helt ny på asp.net platformen, og det jeg laver pt. er blot til noget uddannelse.

Jeg har brugt linq to xml til at læse min XML fil med. Her kan jeg bruge noger SQL lignende kode til at liste mine emner med.

Problemer er nu, og det er der nok mange der kan grine af, men jeg er helt nybegynder, det er at jeg ikke ved hvordan jeg får "displayed" mit resultat ud på siden.

Pt har jeg valgt at bruge Literal således:
litXMLData.Text = litXMLData.Text + "author: " + book.author + "<br />";
litXMLData.Text = litXMLData.Text + "title: " + book.title + "<br />";
litXMLData.Text = litXMLData.Text + "genre: " + book.genre + "<br /><br />";
litXMLData.Text = litXMLData.Text + "price: " + book.price + "<br /><br />";
litXMLData.Text = litXMLData.Text + "<img  id='Image3' src='" + book.picture + "' />";


Og så denne tilbage på siden:
<asp:Literal ID="litXMLData" runat="server"></asp:Literal>
</asp:Content>

Det virker, men det er ikke særligt flexiblet. Jeg vil gerne kunne lave en htmltabel eller lignende med mit resultat.

Fra denne tabel skal man kunne klikke på en række, og kalde noget andet C# kode, der viser detajlerne.

Er der ikke en nem måde at gøre dette på?

Takker.
Avatar billede arne_v Ekspert
27. maj 2012 - 21:47 #3
Du burde kunne bruge en repeater.
Avatar billede jokkejensen Novice
18. juni 2012 - 14:39 #4
jeg ville også køre det gennem xslt, i hvert fald ikke webcontrols fra 2001 :)

Og hvis man er "helt ny" til asp.net -> så skal man SLET ikke kaste sig over user/webcontrols.

/J
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

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