单击asp.net母版页时的jQuery问题
我的Jquery单击似乎没有按预期运行。正在找到控件,但下一行代码似乎正在执行。它似乎在到达警报前退出。我正在使用asp.net c#和母版页 chrome中的调试器中没有错误 客户JS文件加载到实际表单上 网络表单单击asp.net母版页时的jQuery问题,jquery,asp.net,Jquery,Asp.net,我的Jquery单击似乎没有按预期运行。正在找到控件,但下一行代码似乎正在执行。它似乎在到达警报前退出。我正在使用asp.net c#和母版页 chrome中的调试器中没有错误 客户JS文件加载到实际表单上 网络表单 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> <script src="Scripts/Site%20JS.js"></script&g
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="Scripts/Site%20JS.js"></script>
</asp:Content>
...
...
<asp:Button ID="btn_save" runat="server" Text="Save" Width="108px"
以下内容加载到母版页的页眉中
<head runat="server">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%: Page.Title %> - My ASP.NET Application</title>
<asp:PlaceHolder runat="server">
<%: Scripts.Render("~/bundles/modernizr") %>
</asp:PlaceHolder>
<webopt:bundlereference runat="server" path="~/Content/css" />
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="Content/bootstrap.css" rel="stylesheet" />
<link href="Content/datepicker.css" rel="stylesheet" />
<link href="Content/Site.css" rel="stylesheet" />
<link href="Content/datepicker3.css" rel="stylesheet" />
<script src="Scripts/jquery-2.1.3.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
<script src="Scripts/bootstrap-datepicker.js"></script>
<script src="Scripts/jquery.validate.min.js"></script>
<script src="Scripts/modernizr-2.8.3.js"></script>
<asp:ContentPlaceHolder ID="Head" runat="server">
</asp:ContentPlaceHolder>
</head>
-我的ASP.NET应用程序
我怀疑您的代码没有找到按钮。使用母版页会导致呈现的html与实际编写的html不同。如果您使用的是.NET 4.0或更高版本,则可以在按钮中添加ClientIDMode=Static
,以便在实际发送到客户端时呈现的ID相同
另外值得注意的是,如果jQuery代码位于脚本文件中,则使用$(“”)。单击()将不起作用。只有在实际的.aspx页面中包含此代码时,客户端id才会替换服务器标记。在脚本文件中使用static作为客户端id是jQuery查找控件的最简单/最快的方法 如果您检查发出的html,您的按钮可能会有一个id,如cphHead100$btn\u save
或类似的内容。您需要将设置为静态
<asp:Button ID="btn_save" runat="server" Text="Save" Width="108px"
ClientIDMode="static" />
这将确保按钮以id=“btn_save”
呈现,jQuery的“选择id以何处结尾”可以用作ClientMode的替代
$("[id$='btn_save']")
您的按钮名为btn\u save
notbtnSave
original adjusted,这是一个打字错误,但仍然存在。如果您使用asp.net按钮控件,jQuery将在您传递按钮的实际客户端ID之前找不到它。在jQuery中使用以下命令:$(“#”)单击(。。。
$("[id$='btn_save']")