【问题标题】:DataTables not working in ASP.NET Web Application VS 2013DataTables 在 ASP.NET Web 应用程序 VS 2013 中不起作用
【发布时间】:2013-11-19 04:30:10
【问题描述】:

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

 <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 表单(不是来自母版页)。我放入了一个简单的 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>

它成功了!我不知道为什么,但它奏效了!所以我把这些台词放到我的原始内容页面中,但它失败了。同样,不知道 DataTables 是什么。有谁知道出了什么问题?

提前致谢!

【问题讨论】:

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


    【解决方案1】:

    问题可能是文件的路径。如果将文件放在子文件夹中,则需要在添加 java-script 或 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

    【讨论】:

    • 无效。另外,我希望使用 也会有效。为什么这些可以在标准页面中工作,但不能在使用母版页的页面中工作?而且,jQuery 不是包含在母版页“捆绑”中吗?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 2017-06-04
      相关资源
      最近更新 更多