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

时间:2014-11-20 11:20:17

标签: c# asp.net .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>

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

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

2 个答案:

答案 0 :(得分:9)

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

CausesValidation="false"

答案 1 :(得分:7)

检查是否存在任何验证错误,因为它不允许服务器端事件btnMainSearch_Click被解雇。