C# ASP.Net将事件处理程序分配给ASP按钮单击
我正在尝试将事件处理程序分配给asp按钮单击C# ASP.Net将事件处理程序分配给ASP按钮单击,c#,asp.net,C#,Asp.net,我正在尝试将事件处理程序分配给asp按钮单击 <asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent"> <div> <asp:Table id="tb" runat="server" Height="239px" Width="417px" > </asp:Table> </di
<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
<div>
<asp:Table id="tb" runat="server" Height="239px" Width="417px" >
</asp:Table>
</div>
<table>
<tr>
<td></td><td><asp:Button ID="Votes" runat="server" Text="Vote" OnClick="Votes_Click" /></td>
</tr>
</table>
</asp:Content>
但是,当调试项目并单击上面的按钮时,它会执行页面加载事件而不是投票点击事件
为什么会这样???
如何解决这个问题
代码隐藏页上的句柄是
protected void Votes_Click(object sender, EventArgs e)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "btn",
"<script type = 'text/javascript'>alert('Button Clicked');</script>");
int i = 0;
Response.Redirect("Default.aspx");
}
受保护的无效投票\u单击(对象发送者,事件参数e)
{
ClientScript.RegisterClientScriptBlock(this.GetType(),“btn”,
“警报('单击按钮');”;
int i=0;
重定向(“Default.aspx”);
}
当您的页面发回时,它将始终执行页面加载()。然后它应该继续到事件处理程序。如果继续调试,它是否会进入click事件处理程序
请参见当您的页面发回时,它将始终执行页面加载()。然后它应该继续到事件处理程序。如果继续调试,它是否会进入click事件处理程序
参见这是设计的。如果要避免在回发事件中执行Page_Load事件中的代码,可以在条件语句中使用该属性。这是经过设计的。如果要避免在回发事件中执行Page_Load事件中的代码,可以在条件语句中使用该属性。Page始终执行Page_Load handler-这是页面生命周期的一部分。然后执行控制事件。您能否将断点放在
投票\u单击处理程序中,并查看它是否在页面加载后到达?页面始终执行页面加载处理程序-它是页面生命周期的一部分。然后执行控制事件。您能否将断点放入投票\u单击处理程序中,并查看它是否在页面加载后到达?谢谢您的回答,但我已在页面加载事件中创建了动态控件。如果它再次运行,它将产生一个错误,即具有相同ID的多个控件。我要做的是??感谢您的回答,但我已在page_load事件中创建了动态控件。如果它再次运行,它将产生多个具有相同ID的控件的错误。我必须做什么??