为什么Repeater.ItemDataBound - 事件不会触发任何事情?

时间:2011-11-23 11:10:15

标签: c# asp.net

我为ItemDataBound - 事件注册了一个方法,如下所示:

protected void Page_Init(object sender, System.EventArgs e)
{
    MyRepeater.ItemDataBound += MyRepeater_ItemDataBound;
    // ...
}

protected void MyRepeater_ItemDataBound(object sender, 
    System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
    // ...
}

像这样,什么都没有被触发,方法永远不会被执行。 当我在代码中注册方法时 - 比如

<asp:Repeater ID="MyRepeater" runat="server" 
    OnItemDataBound="MyRepeater_ItemDataBound">

确实有效。为什么以前的版本不起作用?

任何tipps的thxs sl3dg3

2 个答案:

答案 0 :(得分:1)

您可能在aspx文件的页眉中缺少AutoEventWireup=true

修改 如果按钮处理程序可以正常工作,可能是数据处理问题 - 您确定在DataBind或其任何父控件上调用MyRepeater吗?如果您手动拨打DataBind,是否依赖于您网页上的Page.IsPostBack

答案 1 :(得分:0)

检查AutoEventWireUp是否设为true。如果AutoEventWireUp为false,则不会执行Page_Init方法,因此将不会执行将处理程序附加到ItemDataBound事件的代码。