【发布时间】:2014-10-24 18:58:41
【问题描述】:
这可能是我记错了,但是...
我正在创建一个 MVC4 应用程序并在索引页面中添加两个 .js 文件:
<script type="text/javascript" src="~/Scripts/fullcalendar.js"></script>
<script type="text/javascript" src="~/Scripts/moment.js"></script>
这会添加文件,但不会对它们做任何事情。我唯一一次得到想要的结果是我将文件添加到_Layout.cshtml。
我确信在过去的项目中我可以将 .js 文件添加到页面并且效果很好,为什么从头开始项目时我需要将所有内容都放在 _Layout.cshtml 文件中?我做错了吗?
编辑: index.cshtml文件中唯一的代码是:
<link rel='stylesheet' href='~/Content/fullcalendar.css'>
<script type="text/javascript" src="/Scripts/fullcalendar.js"></script>
<script type="text/javascript" src="/Scripts/moment.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#calendar').fullCalendar({
header: {
left: 'prev, next today',
center: 'title',
right: 'month, agendaWeek, agendaDay'
},
defaultView: 'month',
firstDay: 1,
editable: true,
selectable: true,
slotMinutes: 60
});
});
</script>
<body>
<div id='calendar'></div>
</body>
当脚本也在 `_Layout.cshtml' 中时呈现良好,但不在时呈现良好。
【问题讨论】:
-
这一切都取决于。您的视图是什么样的?它是否按预期呈现 HTML?
-
已更新以包含视图代码。当脚本文件位于 _Layout.cshtml 中时,它按预期工作,但当我从那里删除它时,它不会。
-
控制台是否有脚本错误?您似乎使用 jQuery,但尚未链接该库。你的布局包括这个吗? 呈现的 HTML 有何不同?
-
没有脚本错误,Jquery 包含在包中,因此不需要添加到页面中(我添加它是为了确保无论如何,但它没有任何区别)。它在工作时的呈现方式看起来像是一个空白版本:fullcalendar.io/js/fullcalendar-2.1.1/demos/agenda-views.html 当我从 _Layout.cshtml 中删除脚本标签时,它只会呈现为空白页面。
-
这是从 Web 服务器的根目录运行的吗?如果不是,您需要在文件路径中添加一个 ~。
标签: jquery .net asp.net-mvc asp.net-mvc-4 razor