JQuery Path位置

时间:2010-12-11 08:51:15

标签: asp.net jquery

我正在使用Asp.Net C#2.0。我的网站在当地工作得很好。网站包含母版页中包含的2个js文件。它在本地环境中工作正常,但是当我发布我的网站时,我在页面加载时出现“对象预期”错误,因此js函数在发布的网站中不起作用。

目前我在写:

 <script src="/javascripts/jquery.hotkeys-0.7.9.js" type="text/javascript"></script>

在母版页中。

期待寻求帮助。

3 个答案:

答案 0 :(得分:1)

尝试使用ResolveUrl方法,如下所示:

<script src='<%=ResolveUrl("~/javascripts/jquery.hotkeys-0.7.9.js") %>' type="text/javascript"></script>

答案 1 :(得分:1)

我相信你的应用程序中存在任何问题。例: 根   foldera     file1.aspx   file2.aspx   母版

假设file1.aspx和file2.aspx使用母版页,您的js链接将呈现不同。 file1.aspx将在以下位置查找js: ROOT / foldera / Java脚本/ jquery.hotkeys-0.7.9.js file2.aspx将在以下位置查找js: ROOT / Javascript角/ jquery.hotkeys-0.7.9.js

为了解决这个问题,你有几个选择: 1.使用ResolveUrl作为Fasih Hansmukh建议。 2.将脚本放在ScriptManager标记下:

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/javascripts/jquery.hotkeys-0.7.9.js" />
    </Scripts>
</asp:ScriptManager>

祝你好运!

答案 2 :(得分:0)

我以编程方式在主页上附加了jscript,

AppendScript("/javascripts/jquery.hotkeys-0.7.9.js");

private void AppendScript(string jsURL)
{
    HtmlGenericControl myJs = new HtmlGenericControl();

    myJs.TagName = "script";
    myJs.Attributes.Add("type", "text/javascript");
    myJs.Attributes.Add("src", HttpRuntime.AppDomainAppVirtualPath + (jsURL.Substring(0, 1) != "/" ? "/" + jsURL : jsURL));
    this.Header.Controls.Add(myJs);
}