我无法调用javascript函数,因为它表示“预期的对象”。我正在使用asp.net,这是在带有一些用户控件的标准aspx页面上使用的。其中一个名为CookieControl的用户控件在document.ready.i.e上调用了一个javascript方法setandCheckCookie()
$(document).ready(function() {
setandCheckCookie();
)};
在我的aspx页面的head部分中,我在添加控件之前引用了javascript文件:
<script src="CookiesControl/js/Cookie.js" type="text/javascript"></script>
<uc2:Cookie ID="Cookie1" runat="server" />
我的事件尝试在用户控件本身上添加脚本引用,但是当我转到我的aspx页面时,我得到了预期的对象错误。
我不相信它的控件或js文件,因为这两个都在网站的其他地方使用,它们工作正常,但我正在做的是停止js文件被引用,因为在firebug和IE调试器我可以看不到引用的js文件。
也许路径不正确,但是我已经从解决方案资源管理器中拖出了脚本,而visual studio也没有抱怨路径。
所以我的问题是:什么可能阻止我的javascript文件被引用。
答案 0 :(得分:1)
Visual Studio抱怨或不抱道路径并不总是说明你将在浏览器中得到什么。要检查脚本是否被引用,请尝试在浏览器中获取脚本文件。例如,如果您的页面位于http://yoursite/yourpage.aspx
,并且html代码中的脚本引用(View Source
,而不是您在Visual Studio中看到的)是folder/scriptFile.js
,请将此地址{{1看看你是否得到了这个文件。如果没有,那么它没有被引用。
要解决这类问题,请在http://yoursite/folder/scriptFile.js
之后填写完整路径,例如:
yoursite
其中<script src="/ScriptVirtualFolder/CookiesControl/js/Cookie.js" type="text/javascript"></script>
位于您的站点根文件夹中,并且它是一个虚拟文件夹,这意味着浏览器可以在此路径中访问它。
此外,您可以使用asp.net通过ScriptVirtualFolder
符号和~
来解析您的路径。例如:
runat='server'