ASP.NET C#如何触发按钮内ICON的OnClick点击事件
问题原因&解决方案
- 原因1:服务器控件事件绑定属性使用错误
你当前使用的是原生HTML button标签加runat="server"的HTML服务器控件,这类控件绑定服务端点击事件需要使用OnServerClick属性,你写的onclick是用于绑定前端JavaScript点击事件的属性,无法触发后台服务端方法。
修改HTML代码如下:
<button id="create_project" runat="server" OnServerClick="create_new_project" style="outline: none; border: none;"> <i class='bx bxs-add'></i> </button>
如果你习惯使用ASP.NET标准服务器控件,也可以改用支持内嵌HTML内容的LinkButton控件:
<asp:LinkButton ID="create_project" runat="server" OnClick="create_new_project" style="outline: none; border: none;"> <i class='bx bxs-add'></i> </asp:LinkButton>
- 原因2:后台代码存在控件名拼写错误
你的后台方法里写的控件名是defualt_content,和你实际的控件名default_content拼写不一致,会导致运行时报错,修改后代码如下:
protected void create_new_project(object sender, EventArgs e) { main_content.Visible = true; default_content.Visible = false; }
- 额外排查点
如果修改后还是无法触发事件,检查页面是否存在验证控件,若存在可以给按钮添加CausesValidation="false"属性,避免因前端验证不通过拦截事件触发。
内容的提问来源于stack exchange,提问作者user15019772
相关产品推荐
相关产品推荐

