在Button_OnClick事件中访问Repeater DataItem

时间:2010-04-26 15:18:21

标签: asp.net repeater buttonclick

我有一个转发器控件绑定到一组对象。当我关闭button_onclick事件时,我需要访问dataitem来获取对象属性。以下是我的内容,我的问题是如何在button_onclick事件中访问转发器中的基础对象

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

1 个答案:

答案 0 :(得分:3)

不保留数据项目;它仅用于绑定初始接口,除非您在每个页面加载时重新绑定转发器。然后,您需要为该按钮指定一个commandname值,然后点击repeater.itemCommand,这将使您可以访问dataitem属性所在的转发器项。

编辑:如果您需要访问转发器中的项目,您可以执行以下操作:

foreach (var item in this.rpt.Items)
{
   if (item.DataItem != null) {
      //Do something
   }
}

您是尝试访问一行还是行集合?

HTH。