DataTables无法在ASP.NET Web应用程序VS 2013中使用

时间:2013-11-19 04:30:11

标签: jquery asp.net datatables asp.net-4.5

我正在将我在Visual Studio 2012中构建的Web应用程序项目迁移到Visual Studio 2013中的新ASP.NET Web应用程序(Web窗体)(4.5)。我从阅读中了解到新结构包含jQuery 1.10。 2在默认的Site.Master中,因此,任何继承内容页面。 我有一个数据表,在2012版本中构建并正常工作。但是,当将代码移动到2013年时,我遇到了一堆问题。第一个是: 0x800a1391 - JavaScript运行时错误:'$'未定义 所以,我想也许它不像我预期的那样包含jQuery I.所以我添加了“

 <script src="/Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>

使用默认项目中的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表单(不是来自Master页面)。我输入了一个简单的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>

它工作了!我不知道为什么,但它有效!所以我把这些行放到原来的内容页面中然后就失败了。同样,不知道DataTable是什么。有谁知道出了什么问题?

提前致谢!

2 个答案:

答案 0 :(得分:0)

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

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

以下是一些很好的链接

  1. Using scripts in a master page with ASP.NET MVC

答案 1 :(得分:0)

一位朋友找到了答案。显然,使用ScriptManager&amp;时,所有jQuery都必须进入BODY标记内。与开箱即用的Web应用程序的情况一样。我创建了另一个内容标记并将其放在母版页的HEAD部分中,这样我就可以放入所有jQuery和javascript例程。一旦我把它移到BODY,它对jQuery很满意。 还有用于jQuery,jQuery.UI和jQuery.Datatables的NuGet包,它们将最新版本集成到您的Web应用程序中。