繁体   English   中英

ASP.Net将事件处理程序分配给ASP按钮单击

[英]ASP.Net assign event handler to asp button click

我正在尝试将事件处理程序分配给asp按钮单击

<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>

但是,当调试项目并单击上面的按钮时,它将执行page_load事件而不是Votes_Click事件

为什么这样做呢??? 以及如何解决这个问题?

并且页面后面的代码上的句柄是

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");

        }

当页面发回时,它将始终执行Page_Load()。 然后应该继续进行事件处理程序。 如果继续调试,它会进入您的click事件处理程序吗?

请参阅ASP.NET页面生命周期概述

这是设计使然。 如果要避免在发生回发时执行Page_Load事件中的代码,则可以在条件语句中使用Page.IsPostBack属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM