【发布时间】:2012-06-20 20:15:46
【问题描述】:
这是我的 JavaScript:
$(document).ready(function () {
function ShowHelp() {
window.open('../WebHelp/' + '<%= SessionManager.CurrentDictionaryId %>' + '/mweb.htm#cshelp/assetsdetail.htm', '', 'toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
}
function RunPrint(values) {
window.open('../Reports/Assets/AssetProfile.aspx?id=' + values, '', 'toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
}
});
我有两个 <asp:Hyperlink> 标签设置如下:
<asp:HyperLink ID="lnkHelp" runat="server" EnableViewState="False" ImageUrl="~/Images/Help.png"
NavigateUrl="javascript:ShowHelp();" />
<asp:HyperLink ID="lnkPrint" ImageUrl="~/Images/PrintMed.png" runat="server" EnableViewState="false"
NavigateUrl="javascript:GetSelectedToPrint();" />
在 Chrome 中运行调试器工具时,我收到以下消息:
"Uncaught ReferenceError: ShowHelp is not defined"
"(anonymous function)"
我对 javascript 相当无知,但我觉得我知道的足够多,可以阅读其中的内容,但我没有看到问题。
【问题讨论】:
-
从
$(document).ready解包。 -
是的,刚刚尝试过,它奏效了。您可以向我指出为什么会发生这种情况的任何参考资料?
-
这是因为您从使用全局函数的
javascript:URI 调用方法。通过将函数嵌套在另一个函数中,它们不再是全局的,并且无法通过所述 URI 调用。
标签: c# javascript asp.net referenceerror