在ItemDataBound之后触发的control.click

时间:2012-07-26 20:57:42

标签: c# asp.net

我有一个显示多行的转发器对象。转发器后面还有一个按钮,允许添加新的转发器行。在click事件之前触发ItemDataBound事件的问题。因此,当页面重新加载时,它没有通常会显示的最新项目。查看该项目的唯一方法是刷新页面。

数据绑定代码:

protected void default_ItemDataBound(object source, RepeaterItemEventArgs e)
        {

            // Bind the controls
            if (e.Item.ItemType == ListItemType.AlternatingItem
                    || e.Item.ItemType == ListItemType.EditItem
                    || e.Item.ItemType == ListItemType.Item
                    || e.Item.ItemType == ListItemType.SelectedItem)
            {


                XElement otherStructureElement = XML.XPathSelectElement(e.Item.DataItem.ToString());

              HtmlAnchor lnkRemove = e.Item.FindControl("lnkRemoveForm") as HtmlAnchor;
              if (lnkRemove != null && otherStructureElement != null)
                  lnkRemove.Attributes.Add("onclick", string.Concat("return deleteOtherStructure('",otherStructureElement.Attribute("id").Value, "');"));



            }
        }

和点击事件

    protected void SaveOtherStructuress_Click(object sender, EventArgs e)
    {
        AddOtherStructure();
    }

有没有办法在ItemDataBound之前触发click事件?

1 个答案:

答案 0 :(得分:1)

  

“之前触发ItemDataBound事件的问题   点击事件“

为什么要在page_load的回发上对转发器进行数据绑定? 您应该只通过按钮单击等事件处理程序(如果有的话)执行此操作。

如果EnableViewStatetrue(默认值),则无需在每次回发时对其进行数据绑定。