如何让JQuery和ASP.Net一起工作?

时间:2009-02-03 10:20:27

标签: asp.net javascript jquery

在ASPX页面中使用JQuery时,有什么理由不起作用?我们一直试图像这样简单地打电话:

$(document).ready(function() {
    alert("This is SPARTA!!!!!!!!!");
});

永远不会显示警告框。我之前有过使用JS和ASP.Net的经验,我知道在JS之后我必须返回false:

<input type=button value="Button 1" 
   onclick='button_1_onclick();return false;'>

是否有类似的事情要做?

编辑:我在调试器模式下运行了Firebug,JS从未运行过,所有的lib都出现在页面中。我唯一能想到的就是未触发就绪事件或类似事件。

6 个答案:

答案 0 :(得分:4)

ASP.NET和JQuery非常合作(以及ASP.NET AJAX库),我在最近的ASP.NET 3.5 Web应用程序中一起使用了所有这些。有一些oddities to be aware of,但总的来说工作很好。

首先,您需要确保您的脚本标记包含jQuery文件的src -

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

我通常通过向ScriptManager添加ScriptReference来完成此操作,但无论哪种方式都有效。然后将您的jQuery代码放在脚本标记之后 -

$(function() { alert("This is SPARTA!!!!!!!!!"); });

如果你的jQuery文件在一个文件夹中并且你在你的站点上设置了某种身份验证,那么你需要通过修改web.config来确保在你使用jQuery的页面上可以访问该文件夹(很像你需要处理图像和CSS)。我以前被这个绊了。您可以通过展开相关的脚本节点来检查firebug以查看jQuery代码是否可访问(即可见);如果你看到某种HTTP错误,那么可能是由于脚本无法访问。

正如其他人已经说过的那样,可能会与其他JavaScript库发生冲突。如果还使用库使用以下模式

,您仍然可以使用$速记
(function($) {

$(function() { alert("This is SPARTA!!!!!!!!!"); });

})(jQuery);

这意味着外部函数范围内的$是jQuery对象的简写。

答案 1 :(得分:2)

您是否同时使用其他图书馆? $可能已经重新分配,试试这个:

jQuery(document).ready(function() {
    alert("This is SPARTA!!!!!!!!!");
});

答案 2 :(得分:1)

这可能有两个原因:

1)你可能错过了

<script language="JavaScript" src="JQuery.js"></script>

语句。

2)警报结束时缺少分号。它应该是:

$(document).ready(function() {   alert("This is SPARTA!!!!!!!!!"); });

答案 3 :(得分:1)

您是否尝试过在任何CSS包含后添加JavaScript引用?

由于未加载CSS类,我遇到了$(document).ready未运行的问题。移动jQuery似乎可以解决它。

可能与您的问题不一样,但值得一试。

答案 4 :(得分:1)

也许你和我犯了同样的错误:

我在母版页中包含了jQuery脚本参考。结果是.Aspx页面找不到JQuery.js文件,因为我将它放在不同的文件夹中。

在母版页中,我现在使用

包含jQuery
<script src="<%= this.ResolveUrl("~/js/jquery.js") %>"></script>

答案 5 :(得分:0)

我试过这个。你需要引用jquery库,你需要有$(document).ready函数。您还需要使用类引用您的按钮,以便jquery可以找到您要查找的按钮。然后告诉jquery你将如何处理该对象,例如使用.click()。

这是一些代码: 引用jquery库。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

在脚本标记中包含以下内容。

    $(document).ready(function()
    { 
        $('.clicker').click(function() 
        {

           alert('This is SPARTA!!!!');
        });
    });

然后在页面的HTML中按下这样的按钮:

<input type="button" value="Show Alert" class="clicker" />

希望这会有所帮助。