Jquery BlockUI java脚本未在aspx页母版页的ContentPlacehoder内执行

Jquery BlockUI java脚本未在aspx页母版页的ContentPlacehoder内执行,jquery,asp.net,Jquery,Asp.net,我将以下BlockUI javascript设置为在母版页的ContentPlaceholder中的aspx页面上运行。当页面加载并单击ASP按钮时,javascript将启动,并显示警告框1和4,而不是2和3 <script type="text/javascript"> $(document).ready(function() { alert('alert1'); $('#Button3').click(function() { alert('aler

我将以下BlockUI javascript设置为在母版页的ContentPlaceholder中的aspx页面上运行。当页面加载并单击ASP按钮时,javascript将启动,并显示警告框1和4,而不是2和3

<script type="text/javascript">
 $(document).ready(function() {
    alert('alert1');

    $('#Button3').click(function() {
    alert('alert2 button clicked');
        $.blockUI({ message: '<h1>Just a moment...</h1>' });

        alert('alert 3 It clicked!');
    });
    alert('alert4!');
 });

 </script>

$(文档).ready(函数(){
警报(“警报1”);
$('#按钮3')。单击(函数(){
警报(“已单击警报2按钮”);
$.blockUI({消息:'稍等…});
警报(“警报3它点击了!”);
});
警报(“警报4!”);
});
我想这与在ContentPlaceholder中找到按钮有关

有什么想法吗

这是按钮,上面没有设置代码隐藏事件

 <td class="style17">
     <asp:Button ID="Button3" runat="server" Text="Button" />
 </td>

将选择器从
$('#按钮3')
更改为
$('#')


顺便说一句,如果要防止此按钮上的回发,请单击,您必须将
OnClientClick=“return false;”“
添加到此按钮,以详细说明Yuriy的答案:ASP.NET控件中的ID字段在呈现为html之前会被更改。实际上,它将以类似“ctl00\u contentGuts\u FORMNAME\uuuuuu CONTAINER\u FIELD”或类似的形式出现。这有助于ASP.NET识别它,特别是在列表控件中使用时

Yuriy关于将选择器更改为
$(“#”)
的回答应该很好。ASP.NET的渲染引擎将看到该部分,并使用按钮的客户端id进行渲染

现在,您使用的是.NET的哪个版本?我这样问是因为在.NET4中有一种更干净的方法。在.NET 4中,可以在控件上设置ClientID属性,如下所示:

<asp:Button ID="Button3" ClientID="Button3" runat="server" Text="Button" />


这将确保您知道按钮ID,并且比其他方法更干净、更易于阅读。

这是我正在尝试的测试。我希望将该块附加到Gridview上的编辑单击事件,该事件当前打开一个aspx弹出页面,然后在提交时从弹出窗口取消阻止。感谢反馈,仍然是3.5………我如何在Gridview上获取编辑单击事件以执行java脚本。