我为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
答案 0 :(得分:1)
您可能在aspx文件的页眉中缺少AutoEventWireup=true
。
修改强>
如果按钮处理程序可以正常工作,可能是数据处理问题 - 您确定在DataBind
或其任何父控件上调用MyRepeater
吗?如果您手动拨打DataBind
,是否依赖于您网页上的Page.IsPostBack
?
答案 1 :(得分:0)
检查AutoEventWireUp
是否设为true
。如果AutoEventWireUp
为false,则不会执行Page_Init
方法,因此将不会执行将处理程序附加到ItemDataBound
事件的代码。