我是JavaScript新手。我希望能够做的是从ASP.NET MVC项目的脚本文件夹中调用.js文件中的函数。
功能是:
function myfunction() {
alert("HELLO");
}
...它位于文件brfix.js
中在视图页面上我称之为:
<script src="../../Scripts/brfix.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
myfuntion();
});
</script>
但代码不起作用。但是,如果我将js-code直接放在viewpage上,它的工作原理如下:
<script type="text/javascript">
$(document).ready(function() {
alert("HELLO");
});
</script>
如何调用基于文件的js函数?一些JavaScript-Big-Kahuna可以帮助我吗? =)
答案 0 :(得分:1)
如果直接从您的源代码粘贴该代码,您就会输入错误信息,这就是为什么它不起作用!
你的函数名为myfunction(),但你正在调用myfuntion()
开发时应在浏览器中启用js错误。您没有说明您正在使用哪种浏览器。对于IE,它位于工具 - 选项 - 高级。取消选中“禁用脚本调试”选项。在firefox中,我会使用像FireBug这样的东西,如Dror所说,如果内存服务有些事情会出现javascript错误。如果您仍然遇到问题,我会尝试安装Fiddler2(在IE中)并构建对js文件的请求并查看返回的内容。
另一种选择是放置一个调试器;在您调用函数之前调用,然后您应该可以单步执行javascript。
答案 1 :(得分:0)
可能是对外部文件的引用错误:
<script src="../../Scripts/brfix.js" type="text/javascript"></script>
确保参考正确无误。
您可以尝试使用视图源查看实际位置../../Scripts/brfix.js将被翻译到最后一页。
您也可以尝试使用FireBox FireFox。
答案 2 :(得分:0)
如果您的mvc站点是iis中的根站点,您可以使用斜杠启动脚本src以获取脚本。否则你可以使用asp:ScriptManager来包含脚本
答案 3 :(得分:0)
正如其他海报所提到的,有一个错字。然而...
查看Url.Content()方法以引用您的网站内容。 (图像,脚本等...)使用../ ..是不可靠的,特别是如果您的URL中有不同级别的深度,或者您的应用程序位于子目录中。
这是我在大多数项目中使用的助手,例如:
public static string Script(this HtmlHelper Html, string url)
{
UrlHelper Url = new UrlHelper(new RequestContext(Html.ViewContext.HttpContext, Html.ViewContext.RouteData));
string html = "<script type=\"text/javascript\" src=\"{0}\"></script>";
return string.Format(html, Url.Content(url));
}
这里被称为:
<%= Html.Script("~/public/js/blah.js") %>
答案 4 :(得分:0)
我遇到了同样的问题,结果发现我有一些未找到的js文件。如果您的MVC项目结构是默认的VS设置,并且您的View页面在Home中,那么我认为下面将找到该文件:
<script src="../Scripts/brfix.js" type="text/javascript"></script>
但是,即使发现其中一个未找到的其他js文件导致我的$(文件)。已经无法工作。在Firefox的Firebug中检查您的页面,如果找不到文件,您将看到html标记,其中包含无法找到资源的消息,位于违规参考下方。一旦我解决了所有的js引用,然后我的$(文档).ready work。
奇怪的是VS告诉我,当引用正确时,它找不到js文件,并且在引用不正确时没有标记问题。