webForumDet fria alternativet

Xml problem

6 svar · 418 visningar · startad av jazzil

jazzilMedlem sedan maj 2003151 inlägg
#1

Tjena...
Jag har lite XML problem ..

Jag har denna koden

	public void Page_Load(Object sender, EventArgs e)
	{						
		DataSet DS = new DataSet();
		DS.ReadXml(Server.MapPath(XmlFile));
		DataRow[] perst = DS.Tables[0].Select();
		
		foreach(DataRow dr in perst)
		{
			Name.Text = "Name: " + dr["Name"];
			Message.Text = "" + dr["Text"];
		}

	}

Den hemtar grejer i min XML fil och funkar som den ska ...
Men nu vill jag "bygga ut" lite så att den skirver ut alla records i XML filen ...

<?xml version="1.0" encoding="utf-8" ?> 
<Guestbook>
<Post>
	<Name>Björne</Name>
	<Text>Yo mannen va gö du</Text>
</Post>
<Post>
	<Name>Nicklas-Olif</Name>
	<Text>ey va fan</Text>
</Post>
<Post>
	<Name>Mekk</Name>
	<Text>Mekk mekkast mekkarest</Text>
</Post>
<Post>
	<Name>Writer</Name>
	<Text>Detta kommer att vara en ganska lång text som du fattar när du läser detta ... MAX 100 Tecken</Text>
</Post>
<Post>
	<Name>Tolof</Name>
	<Text>MM cookies</Text>
</Post>
<Post>
	<Name>Kim</Name>
	<Text>Hej kim cool grej</Text>
</Post>
</Guestbook>

Just nu skriver den bara ut:
Kim
Hej Kim cool grej

Hur gör jag det ... kolla på asp:repeater men fattade inte så mycket :\

Tacksam för svar

@ndersMedlem sedan juni 200032 969 inlägg
#2

Utan att kunna något om ASP.NET ger jag mig på en liten chansning. Det ser ut som att du hela tiden skriver över Name.Text och Message.Text med nya värden, därför ser du bara det sista. Prova detta:

		foreach(DataRow dr in perst)
		{
			Name.Text += "Name: " + dr["Name"] + "<br>";
			Message.Text += "" + dr["Text"] + "<br>";
		}

Mvh

jazzilMedlem sedan maj 2003151 inlägg
#3

Tack nu ska jag bara rensa lite ...

Fick outputten
Name: Björne
Name: Nicklas-Olif
Name: Mekk
Name: Writer
Name: Tolof
Name: Kim

Yo mannen va gö du
ey va fan
Mekk mekkast mekkarest
Detta kommer att vara en ganska lång text som du fattar när du läser detta ... MAX 100 Tecken
MM cookies
Hej kim cool grej

Inte riktigt rätt ... men jag klarar mig nog härifrån

TACK!

DavidBMedlem sedan jan. 20001 372 inlägg
#4

skapa en datagrid

<asp:DataGrid id="minDataGrid" runat="server" />

sen binder du datan från ditt dataset såhär:

public void Page_Load(Object sender, EventArgs e)
{						
	DataSet DS = new DataSet();
	DS.ReadXml(Server.MapPath(XmlFile));

	minDataGrid.DataSource = DS;
	minDataGrid.DataBind();
}

Borde fungera i alla fall.

Det är samma sak med repeater som med DataGrid.

Ta en titt på Quickstarten:
http://www.dotnetjunkies.com/QuickStart/aspplus/default.aspx?url=/quickstart/aspplus/doc/webdatalist.aspx

jazzilMedlem sedan maj 2003151 inlägg
#5

Tack!

Nu förstår jag lite bättre :)

En grej till hur gör jag så att varanan blir vit och varanan grå?

<ASP:Repeater id="dg" runat="server">       
      
      <HeaderTemplate>	
		<table width="200">     
      </HeaderTemplate>      
      
		<ItemTemplate>     	
			<tr style="background-color:#F2F2F2">
				<td>
					<i><%# DataBinder.Eval(Container.DataItem, "Name") %></i>
					<br />
					<%# DataBinder.Eval(Container.DataItem, "Text") %>
				</td>     
		</ItemTemplate>        
      
      <FooterTemplate>			
		</table>	
     </FooterTemplate>  

</ASP:Repeater>
PDahlenMedlem sedan apr. 2004778 inlägg
#6

Lägg till en AlternatingItemTemplate som är likadan som din ItemTemplate men med annan bg-färg.

jazzilMedlem sedan maj 2003151 inlägg
#7

TACK!

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)