Accessing Repeater DataItem in Button_OnClick event
asp.net, buttonclick, repeater
Solution
The dataitem is not retained; it's only used to bind the initial interface, unless you rebind the repeater on every page load. Then you need to give the button a commandname value, and tap into the repeater.itemCommand, which will give you access to the repeater item, where the dataitem property lives.
EDIT: If you need to access items within the repeater, you can do:
foreach (var item in this.rpt.Items)
{
if (item.DataItem != null) {
//Do something
}
}
Are you trying to access one row or the collection of rows?
HTH.
Problem
I have a repeater control bound to a collection of objects. When I fire off the button_onclick event, I need to have access to the dataitem to get the object properties. Here is what I have and my question is how do I access the underlying objects in a repeater in a button_onclick event ``` protected void OKButton_Click(object sender, EventArgs e) { try { string selectedValue = Request.Form["repeaterRadioButton"]; foreach (RepeaterItem item in Repeater1.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { MyObject myObject = (MyObject)item.DataItem; if (!string.IsNullOrEmpty(selectedValue) && selectedValue == myObject.MyProperty) { //stuff in here } ... rest of code ```