button 不触发onclick事件 没有匹配委托的重载 No overload for 'button_Click' matches delegate 'EventHandler'
<asp:Button>和<button>是不一样的
迄今为止,我所知道的他们俩的区别是
<asp:Button>触发事件是直接用OnClick=“btn_Click”就可以在后台写逻辑,但不好加图标。
如果想在按钮上加图,要用Button的style。
例如:
<asp:Button ID=
"Button1"
runat=
"server"
Text=
"Button"
style=
"background-image:url('XXX.jpg')"
/>
或者是写Css样式。。
<button>是直接在中间加<img src="../../images/search.png" width="14" height="14"/>就可以的。
并且还有一个重要的问题。<button>要想触发后台事件,不仅要写onclick,还要写onserverclick。
例如:
<button id="btnSearch" runat="server" type="button" onclick="if (true) " onserverclick="btnSearch_Click">
<img src="../../images/search.png" width="14" height="14"/> 查询</button>
注意:在写逻辑的过程中,我没有生成方法,而是自己写的方法,所以页面会报错
No overload for 'button_Click' matches delegate 'EventHandler'。翻译过来就是“没有匹配委托的重载”。
查了很久没有答案,甚至去看了.design文件,也正常。最后发现是在方法中忘记写(object sender, EventArgs e)了。
真的晕。。