我正在使用Asp.Net C#2.0。我的网站在当地工作得很好。网站包含母版页中包含的2个js文件。它在本地环境中工作正常,但是当我发布我的网站时,我在页面加载时出现“对象预期”错误,因此js函数在发布的网站中不起作用。
目前我在写:
<script src="/javascripts/jquery.hotkeys-0.7.9.js" type="text/javascript"></script>
在母版页中。
期待寻求帮助。
答案 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);
}