webForumDet fria alternativet

Byta ut värde i Repeater

.NET

4 svar · 307 visningar · startad av Josef

Medlem sedan mars 20023 561 inlägg
Frågan#1

Många problem för mig idag. ;)

Jag har en repeater, rLinks, som är bunden till ett dataset.
Ibland är kolummen som efterfrågas av repeatern tom i datakällan.

Koden:

<%# CheckIfEmpty(DataBinder.Eval(Container.DataItem, "url").ToString())%>

Funktionen CheckIfEmpty:

	public string CheckIfEmpty(string input)
	{
		if (input == "")
		{
			return "No comment";
		}
		else
		{
			return input;
		}
	}

Detta borde fungera, men gör det inte. Någon som har någon aning om varför? :l

Medlem sedan sep. 20011 914 inlägg
#2

Använd dig av ItemDataBound istället.
I repeatern:

<asp:repeater id="repGrr" OnItemDataBound="repGrr_itemDatabound" runat="server">
...

ItemDataBound:

void repGrr_itemDatabound(Object Sender, RepeaterItemEventArgs e) 
{
   if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
   {
      DataRowView drv = ((DataRowView)e.Item.DataItem);
      string data = drv["column_name"].ToString();
      string bla = "";
      if(data.Length > 0)
      {
         bla = "No comment";
      }
      else
      {
         bla = data;
      }
      ((Label)e.Item.FindControl("lbUrl")).Text = bla;
   }
}

och istället för

<%# CheckIfEmpty(DataBinder.Eval(Container.DataItem, "url").ToString())%>

så sätter du dit en label

<asp:label id="lbUrl" runat="server"/>

Tror det var så det skulle se ut. :)

Medlem sedan mars 20023 561 inlägg
#3

/r: Ändring igen. Inget felmeddelande, men inget "No comment" i url-kolummen om datakällan innehåller null.

Medlem sedan sep. 20011 914 inlägg
#4

Ska vara tvätom.

...
      if(data.Length > 0)
      {
         bla = data;
      }
      else
      {
         bla = "No comment";
      }
...

Var tvungen att bygga upp ett dataset och testa och för mig funkar det.

Medlem sedan mars 20023 561 inlägg
#5

/red: Problemet är nu löst. Tackar Dino! :bire
Hade satt labeln i fel kolumm. :r

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