RegisterClientScriptInclude和RegisterClientScriptBlock的问题

时间:2010-08-30 14:04:20

标签: javascript asp.net-ajax

我有usercontrol,我在后面的代码中注册了以下javascript方法:

changeSelectedMenu(controlID);

以前的方法在JScript.js文件中声明,所以我也注册了它。

但是抛出了以下异常:

 Microsoft JScript runtime error: Object expected

结果页面是:

<script src="~/Scripts/JQuery.js" type="text/javascript"></script>
<script src="~/Scripts/JScript.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
changeSelectedMenu('ctl00_ctl00_cntMain_procedureContentHolder_procedureMenu_appointmentsLink');//]]>
</script>

有没有人可以帮我解决这个问题?

1 个答案:

答案 0 :(得分:1)

这些不是JavaScript的有效路径:

<script src="~/Scripts/JQuery.js" type="text/javascript"></script>
<script src="~/Scripts/JScript.js" type="text/javascript"></script>

他们需要相对于页面或站点根目录,例如:

<script src="/Scripts/JQuery.js" type="text/javascript"></script>
<script src="/Scripts/JScript.js" type="text/javascript"></script>

虽然~/用于解析服务器端的路径,但浏览器不知道如何处理此问题。 <{3}}中还有其他一些解决方法可以让它工作并且仍然是应用程序相关的。