OnClick事件在ASP.NET页面中不起作用

JCT*_*TLK 1 .net c# asp.net postback dopostback

我有一个从母版页继承的aspx页面.在母版页中,我有一个按钮,该按钮对于解决方案中的每个页面都是通用的.

<div class="btn_general_mid">
<asp:Button 
    ID="btnMainSearch" 
    ValidationGroup="MainSearch" 
    OnClientClick="CheckSearchTextBox()"
    CausesValidation="true" 
    runat="server" 
    OnClick="btnMainSearch_Click"  
    CssClass="search_btn_submit"
    Text="Search" />
</div>
Run Code Online (Sandbox Code Playgroud)

这里CheckSearchTextBox()是一个javascript函数,btnMainSearch_Click它是处理按钮部分后面的代码的事件.

在某个页面btnMainSearch_Click中,不会触发此按钮单击事件.(调试器未达到代码中的那个)

在运行时(使用Firebug检查时),这是为按钮生成的代码段.

<div class="btn_general_mid">
<input id="ctl00_btnMainSearch" 
class="search_btn_submit" 
type="submit"    
onclick="CheckSearchTextBox();WebForm_DoPostBackWithOptions(new  WebForm_PostBackOptions("ctl00$btnMainSearch", "", true, "MainSearch", "", false, false))" 
value="Search" 
name="ctl00$btnMainSearch"></div>
Run Code Online (Sandbox Code Playgroud)

实际上在此按钮工作正常的其他页面中,为此按钮生成相同的html输出.我在这里错过了什么吗?

小智 10

其中一个原因可能是某些可见或明显不可见的验证器正在停止回发.尝试在按钮标记中将原因验证添加到false.

CausesValidation="false"
Run Code Online (Sandbox Code Playgroud)


San*_*eep 7

检查是否存在任何验证错误,因为它不允许btnMainSearch_Click触发服务器端事件.