Hi SO,
I have this code-behind that checks each item in a repeater when it is databound to see if the author/date are empty (either no author/date, or the system is set to not display them) so that way I can clear out their respective labels. This is so I dont get something like "Posted By on" when there is not author and/or date specified.
Here is the code:
protected void Page_Load(object sender, EventArgs e)
{
repeater.ItemDataBound += new RepeaterItemEventHandler(repeater_ItemDataBound);
}
void repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Literal PostedBy = (Literal)e.Item.FindControl("litPostedBy");
Literal PostedOn = (Literal)e.Item.FindControl("litPostedOn");
string Author = (string)DataBinder.Eval(e.Item.DataItem, "Author");
string Date = (string)DataBinder.Eval(e.Item.DataItem, "PubDate");
if (string.IsNullOrEmpty(Author))
{
if (string.IsNullOrEmpty(Date))
{
PostedBy.Text = "";
PostedOn.Text = "";
}
else
{
PostedBy.Text = "Posted ";
}
}
}
}
I am using a CMS, and I am unsure of what all the properties are in the e.Item.DataItem
. Is there some way I can loop through the DataItem and print out the property names/values?
Thanks!