调试时,单击btnSignup不会触发btnSignup_Click事件第一行的断点。
只是为了看看它是否帮助我从repater中删除了datasourceID并创建了一个Sub例程来在page_load if-not-isPostback上对转发器进行数据绑定。那没有用。
我需要做些什么才能让我的btnSignup触发我的btnSignup_Click事件?
我在ASCX上有这个
<asp:Repeater ID="rptParticipants" runat="server" DataSourceID="sdsParticipants">
<ItemTemplate>
<p class="participant"><span class="participant-number"><%# Container.ItemIndex + 1 %>.</span> <span class="participant-name"><%# Container.DataItem("name")%></span></p>
</ItemTemplate>
<FooterTemplate>
<br />
<asp:Literal ID="litBlanks" runat="server"></asp:Literal>
<div class="text-center">
<asp:Button ID="btnSignup" runat="server" Text="Sign Me Up" CssClass="btnSignup" OnClick="btnSignup_Click" />
<asp:Button ID="btnRemove" runat="server" Text="Remove Me" CssClass="btnRemove" OnClick="btnRemove_Click" />
</div>
</FooterTemplate>
</asp:Repeater>
我在ASCX.vb上有这个
Public Sub btnSignup_Click(sender As Object, e As System.EventArgs)
CheckAvailability() 'Breakpoint on this line
'more code here
End Sub
答案 0 :(得分:0)
尝试使用Repeater上的ItemCommand事件来处理按钮点击。使用CommandName替换OnClick属性,如下所示:
<asp:Button ID="btnSignup" runat="server" Text="Sign Me Up" CssClass="btnSignup" CommandName="SignUp" />
接下来,为Repeater的ItemCommand事件创建一个事件处理程序:
Protected Sub rptParticipants_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles rptParticipants.ItemCommand
If e.CommandName = "SignUp" Then
btnSignup_Click(Me, New System.EventArgs)
End If
End Sub