【发布时间】:2014-05-18 23:47:15
【问题描述】:
我已经尝试了我在 Internet 上找到的所有内容,但没有任何效果。我有一个名为 calendarCZ.js 的外部 javascript 文件,相对路径是:~/Scripts/calendarCZ.js。
我希望这个 js 文件包含在名为 getSideBar.cshtml 的视图中。
我已经在 Layout.cshtml 中写了这个:
@Scripts.Render("~/Scripts/calendarCZ.js")
@RenderSection("Scripts", required: false)
我在 getSideBar.cshtml 中写了这个:
Scripts.Render("~/Scripts/calendarCZ.js")
@RenderSection("Scripts", required: false)
@section Scripts{
<script src="@Url.Content("~/Scripts/calendarCZ.js")">
@Scripts.Render("~/Scripts/calendarCZ.js")
@if (ViewBag.JS == true)
{
printCalendarCZ(@Model.events);
}
</script>
}
而且他仍然使用 printCalendarCZ(events) 函数忽略我的脚本。 错误:标识符 printCalendarCZ 在当前上下文中不存在。
有人真的知道如何在 MVC 5 中包含 javascript 吗?
感谢您的回复。
彼得
【问题讨论】:
-
带有内容的
script标记不是有效的html。您应该有 2 个脚本标签,并将您的 src 放在一个中,将内容放在另一个中 -
不,标签应该是同级的。在加载库后调用函数,以便在调用函数时定义函数。
-
有一个不同的错误:C#标记@if和他的身体被识别为C#代码,我想调用javascript函数。我无法想象,有人可以将其编写为解决方案,如何从视图中调用 javascript 函数。我想在没有用户交互的情况下调用该函数,我想在页面加载后调用它。
-
您正在调用同一个脚本文件 3 次?为什么?
-
因为我认为它会忽略所有调用。我认为错误出在
@if { //call }内的javascript函数调用中,但有人上传了这个作为类似问题的解决方案。我想我必须使用window.onload(),但它也忽略了。
标签: javascript asp.net-mvc razor asp.net-mvc-5