c# - JavaScript 在本地工作,但在部署到网络服务器时无法工作

标签 c# javascript jquery html model-view-controller

我正在向网站部署一些代码,但当我这样做时,JavaScript 不会运行。我收到错误:

SCRIPT5007: The value of the property '$' is null or undefined, not a Function object.

它使用的代码是

@model MVCMasterDetail.DataAccess.cwwoLoadCurrentWorkOrderActualsResult[]

<script type="text/javascript">
  $(document).ready(function () {
    $(".grid-toggle").click(function () {
        $(this).closest("table").find("tbody").show();
    });
    $(".hide-rows").click(function () {
        $(this).closest("table").find("tbody").hide();
    });
});
</script>

@Html.Partial("MasterDetailMasterPartial")

调用使用它的是:

<td colspan="4"> Details<br/><a href="javascript: void(0)" class="grid-toggle">Show-     </a><a href="javascript: void(0)" class="hide-rows">Hide</a></td>

感谢任何帮助。

最佳答案

根据您在 Ashley Ross 的回答中的评论,您似乎尝试使用相对路径添加 jQuery。看来您正在使用 MVC。在MVC中,想要在html中引用文件的方式是:

<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")"></script>

此外,脚本标记是否位于 head 标记中并不重要。它唯一的区别是加载。通过将其放在 head 标签中,您可以告诉浏览器在开始加载正文之前下载 js 文件,这可能很好,但也会增加页面加载时间。为了更快地下载页面,您实际上希望将脚本标记放在 body 标记的底部,这会推迟下载 js 文件,直到页面的其余部分加载完毕。这会加快页面加载时间,但如果您没有预料到,可能会导致一些奇怪的行为。

关于c# - JavaScript 在本地工作,但在部署到网络服务器时无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14125765/

相关文章:

javascript - 检查 Javascript 是否可用并重定向到另一个页面

javascript - JQuery 多个 droppables 和一个函数来处理每个 droppables

c# - 在C#中读取一个xml元素并将元素的新值写回xml

c# - 在浏览器关闭中杀死 session 值

Java .properties 文件和 C# .settings 文件

javascript - 单击时隐藏 CSS 菜单

jquery - 使 div 在每个浏览器中都可旋转

c# - 当我向报表添加参数时,Crystal Reports不选择任何记录

javascript - 相当于 ng 重复的 polymer

javascript - 在 Javascript 中更改背景颜色