Frage

Ich habe ein Repeater-Steuerelement, das das Ergebnis einer Linq Abfrage gebunden wird.

Ich mag den Wert eines der Datenquelle der Felder in dem ItemDataBound Ereignisse bekommen, aber ich bin nicht sicher, wie dies zu tun.

War es hilfreich?

Lösung

Sie können:. e.Item.DataItem

Beispiel: Repeater.ItemDataBound Ereignis

// This event is raised for the header, the footer, separators, and items.
void R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
  // Execute the following logic for Items and Alternating Items.
  if (e.Item.ItemType == ListItemType.Item ||
      e.Item.ItemType == ListItemType.AlternatingItem)
  {
    if (((Evaluation)e.Item.DataItem).Rating == "Good")
    {
      ((Label)e.Item.FindControl("RatingLabel")).Text= "<b>***Good***</b>";
    }
  }
} 

Andere Tipps

auf der Datasource Je ... Wenn Ihre Datasource eine Datatable ist, dann DataItem enthält eine DataRowView:

protected void rptMyReteater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        Button b = e.Item.FindControl("myButton") as Button; 
        DataRowView drv = e.Item.DataItem as DataRowView;
        b.CommandArgument = drv.Row["ID_COLUMN_NAME"].ToString();
    }
}

Die Daten, die für das aktuelle Element verwendet wird, können aus dem EventArgs gefunden werden.

RepeaterItemEventArgs e

e.Item.DataItem
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top