为什么Jquery不使用asp.net?
这不起作用,我不明白为什么,我已经尝试了W3schools上的代码,并且工作正常,我认为问题可能是参考或者其他什么,我是ASP.NET的新手
ASP代码(母版页)
$(document).ready(function () { $("#bt_insertar").click(function () { alert("Handler for .click() called."); }); });
的Index.aspx
默认情况下,您为runat="server"
控件提供的id
不是最终在DOM元素上的id
。 您可以从服务器端控件对象上的ClientID
属性获取ASP.Net生成的ID。 例如,改变:
$("#bt_insertar").click(...
至
$("#<%= bt_insertar.ClientID%>").click(...
…如果该代码在页面中ASP.Net解析(而不是外部JavaScript文件)。
从ASP.Net 4开始,您可以通过ClientIDMode
属性控制此行为。 例如,如果您使用Static
模式( control.ClientIDMode = CLientIDMode.Static;
),那么ID
实际上是按原样传递的。 但ClientIDMode
的默认值是Predictable
,它会修改您使用的ID
。
要将jquery函数绑定到Asp.net Server控件,您必须以这种方式编写代码。
几点:
- 在你的JQuery include语句中,src应该是
src="../Scripts/jquery-1.4.1.js"
而不是src="./Scripts/jquery-1.4.1.js"
- 您实际上不需要在
document.ready
事件中绑定click事件,而是可以包含OnClientClick="bt_insertar_Click();"
在你的asp:Button
然后你可以定义你的function bt_insertar_Click()
为您的网页使用单独的.js文件是一种更好的编程习惯,因此您可以将所有相关的js函数移动到此js文件,然后像使用jquery文件一样包含它。