كيفية الوصول إلى حقول مصدر بيانات في حدث ASP.NET الراسبين ItemDataBound؟
-
06-07-2019 - |
سؤال
ولدي السيطرة مكرر التي يتم منضمة إلى نتيجة استعلام ينق.
وأريد الحصول على قيمة واحدة من الحقول مصدر البيانات في الحدث ItemDataBound، ولكن لست متأكدا من كيفية القيام بذلك.
المحلول
ويمكنك استخدام: e.Item.DataItem
وعلى سبيل المثال: Repeater.ItemDataBound الحدث
// 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>";
}
}
}
نصائح أخرى
واعتمادا على مصدر البيانات ... إذا مصدر البيانات الخاص بك هو DataTable و، ثم DataItem الخاص بك يحتوي على 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();
}
}
ويمكن الاطلاع على البيانات التي يتم استخدامها لهذا البند الحالي من EventArgs.
RepeaterItemEventArgs e
e.Item.DataItem
لا تنتمي إلى StackOverflow