webForumDet fria alternativet

OnItemDataBound - Formatera värde i Repeater

.NET

5 svar · 304 visningar · startad av edebro

Medlem sedan aug. 2001261 inlägg
Frågan#1

Jag är helt säker att jag har sett lösningen på mitt problem i wF:s forum, men nu verkar tråden helt bortblåst.

Jag har iaf en repeater där jag skriver ut värdena mha;
<%# DataBinder.Eval(Container.DataItem, "ForumPost") %>

Låt oss säga att jag har en metod i en assembly som formaterar utdatan.
Då kan jag inte komma åt denna metod genom att t ex skriva;
<%# ObjectName.MethodName(DataBinder.Eval(Container.DataItem, "ForumPost")) %>

Visst, det fungerar om jag instansierar klassen uppe i mitt scriptblock. Men det känns inte som en snygg lösning ;)

Är det någon som sitter på en kodsnutt på hur man löser detta med OnItemDataBound?

Kodexempel i C# föredras, men även VB.NET går bra!

Tacksam för svar.

Medlem sedan mars 20023 561 inlägg
#2
<asp:Repeater id="Repeater1" runat="server" OnItemDataBound="[i]Namnet på din metod[/i]">
Medlem sedan aug. 2001261 inlägg
#3

Hehe, jo så långt är jag med. Det är givetvis hur denna metod ska se ut jag vill veta ;)

Medlem sedan mars 20023 561 inlägg
#4

Tänkte väl det! ;)

public void bla(object sender, RepeaterItemEventArgs e) 
{
	if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
			{
		DataRowView drv = ((DataRowView)e.Item.DataItem);
		string data = drv["descr"].ToString();
		string bla = "";
		if(data.Length > 0)
		{
			bla = data;
		}
		else
		{
			bla = "No comment";
		}
		((Label)e.Item.FindControl("lblDescr")).Text = bla;
	}
}

Till exempel bara...

Medlem sedan aug. 2001261 inlägg
#5

ahhh guld!! :bire
Om jag inte minns helt fel så var det exakt denna kod som förut fanns här på webForum.

Den här åker i favoriter ;)

Medlem sedan mars 20023 561 inlägg
#6

Ja, ungefär samma kod men jag har modifierat den lite.

645 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
363 ms — deklarationer (db)
0 ms — hämta statistik (cache)
279 ms — hämta tråd, inlägg och bilagor (db)
346 ms — ändringar (db)