Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 与2013年相比,DataTables在ASP.NET Web应用程序中不起作用_Jquery_Asp.net_Datatables_Asp.net 4.5 - Fatal编程技术网

Jquery 与2013年相比,DataTables在ASP.NET Web应用程序中不起作用

Jquery 与2013年相比,DataTables在ASP.NET Web应用程序中不起作用,jquery,asp.net,datatables,asp.net-4.5,Jquery,Asp.net,Datatables,Asp.net 4.5,我正在将我在Visual Studio 2012中构建的web应用程序项目迁移到Visual Studio 2013中新的ASP.NET web应用程序(web表单)(4.5)中。从阅读中我了解到,新结构在默认的Site.Master中包含了jQuery1.10.2,因此也包含了任何继承内容页。 我有一个datatable,在2012版本中构建并运行良好。然而,当代码迁移到2013年时,我遇到了一系列问题。第一个是: 0x800a1391-JavaScript运行时错误:“$”未定义 所以,我想

我正在将我在Visual Studio 2012中构建的web应用程序项目迁移到Visual Studio 2013中新的ASP.NET web应用程序(web表单)(4.5)中。从阅读中我了解到,新结构在默认的Site.Master中包含了jQuery1.10.2,因此也包含了任何继承内容页。 我有一个datatable,在2012版本中构建并运行良好。然而,当代码迁移到2013年时,我遇到了一系列问题。第一个是: 0x800a1391-JavaScript运行时错误:“$”未定义 所以,我想它可能没有像我预期的那样包含jqueryi。所以我加了一句“


使用默认项目中的jquery文件。这导致错误:

0x800a01b6-JavaScript运行时错误:对象不支持属性或方法“dataTable”

这是意料之中的,因为我还没有参考资料。所以我添加了2012年使用的相同文件:

<script src="/Scripts/jquery.dataTables.min.js"></script>

没有效果。相同的错误。因此我将其替换为:

<script src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js" type="text/javascript"></script>

同样,没有效果。因此,我沮丧地添加了一个新的web表单(不是来自母版页)。我放入了一个简单的DataTable,并使用我的原始文件运行它:

<script src="/js/jquery-1.9.1.js" type="text/javascript"></script>

而且!它不起作用了……最后,我投入了:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>  
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>  
<script src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js" type="text/javascript"></script>

它起作用了!我不知道为什么,但它起作用了!所以我把这些行放到我原来的内容页上,结果失败了。再说一次,我不知道数据表是什么。有人知道出了什么问题吗


提前感谢!

问题可能是文件的路径。如果您将文件放在子文件夹中,则在添加java脚本或jQuery文件时需要使用
解析url

<script type="text/javascript" src='<%= ResolveUrl("~/Scripts/jquery-1.10.2.min.js")%>'>
</script>

这里有一些好的链接


  • 一位朋友为我找到了答案。显然,当使用ScriptManager&packages时,所有jQuery都必须进入BODY标记中,就像开箱即用的Web应用程序一样。我创建了另一个内容标记,并将其放在母版页的标题部分,这样我就可以放置所有jQuery和javascript例程。一旦我将其移动到BODY中,它将对jQuery同样满意。
    还有用于jQuery、jQuery.UI和jQuery.Datatables的NuGet软件包,它们将最新版本集成到您的web应用程序中。

    没有效果。此外,我希望使用和也会有效。为什么这些在标准页面中工作,而在使用母版页的页面中不工作?而且,母版页“捆绑包”中不包括jQuery吗“带着
    <script type="text/javascript" src='<%= ResolveUrl("~/Scripts/jquery-1.10.2.min.js")%>'>
    </script>