0

我在 test.js 中定义了一个外部 JS 函数

function InvokeSupport(ID, TimeStamp, Hash) {

    var sUrl = '<%= System.Configuration.ConfigurationManager.AppSettings["URL"] %>' + "?uid=" + ID + "&t=" + TimeStamp + "&hash=" + Hash;

    window.open(sUrl, "Support", null, false);   
}

在我的 asp.net 页面上,我有以下内容。

<script type="text/javascript" src="../../../scripts/test.js"></script>

<div class="User">
    <span class="UserName"><button type="submit" title="Help!" onclick="InvokeSupport()" class="Class1"></button> </span>
</div>

问题

InvokeSupport 函数以未定义的形式返回并且无法工作,除非我将该函数放在它工作的 ASP.net 页面上。指向 javascript 文件的链接是正确的,因为我在同一个存储库中的其他文件工作正常。

知道我做错了什么吗?

4

2 回答 2

2

为什么在外部 js 文件中使用 ASP.NET 脚本标签?

将配置中的数据和附加参数传递给 javascript 函数。

此外,您可以使用 Firebug 和 Chrome devTools,它们可以向您显示发生错误的地方

于 2012-07-19T13:31:32.773 回答
0

这应该有效。

function InvokeSupport(url, ID, TimeStamp, Hash) {

    var sUrl = url + "?uid=" + ID + "&t=" + TimeStamp + "&hash=" + Hash;

    window.open(sUrl, "Support", null, false);   
}


<script type="text/javascript" src="../../../scripts/test.js"></script>

<div class="User">
    <span class="UserName"><button type="submit" title="Help!" onclick="InvokeSupport('<%= System.Configuration.ConfigurationManager.AppSettings["URL"] %>',1,2,3)" class="Class1"></button> </span>
</div>
于 2012-07-19T13:55:20.887 回答