预期的javascript对象

时间:2012-08-06 16:06:58

标签: javascript asp.net user-controls

我无法调用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文件被引用。

1 个答案:

答案 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'