我有一个带有中继器和按钮的页面. (非常简单)
我的中继器有一个事件rptEtats_ItemCreated引发OnItemCreated
<asp:Repeater ID="rptEtats" runat="server" OnItemCreated="rptEtats_ItemCreated">
<ItemTemplate>
</ItemTemplate>
</asp:Repeater>
代码背后:
public void rptEtats_ItemCreated(object sender, RepeaterItemEventArgs e)
{
//Stuff
}
页面上的按钮引发一个OnClick事件
<asp:Button ID="btnValid" runat="server" Text="Valid" OnClick="btnValid_click" />
代码背后:
public void btnValid_click(Object sender, EventArgs e)
{
//Stuff
}
直到我单击按钮,它才能正常工作,我希望使用btnValid_click方法,但首先调用rptEtats_ItemCreated方法!我不明白为什么.是否在调用button方法之前再次加载页面?为什么转发器再次进行数据绑定?
解决方法:
您必须校准rptEtats.Databind();在Page_Init中,即在加载视图状态之前.在这种情况下,控件将被正确地重新创建,并且按钮onclik将被触发.