无法理解为什么无法从后面的代码中调用以下javascript代码

我有一个像这样的简单javascript块

  function callsCox(res) {
    alert(res);
   }


从我的代码后面:

 ....
 string res="COX23";
 string script = String.Format("callsCox({0})", res);
 this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Cox",script,true);


我有什么想念的吗?没有任何例外或错误。

最佳答案

Page.ClientScript.RegisterStartupScript在我看来不错(可能错过了一些东西)。尝试的事情


在调用中添加撇号-它作为一个对象传入。尝试作为字符串

字符串脚本= String.Format(“ callsCox('{0}')”,res);
是在更新面板部分回发之后调用字符串脚本Page.ClientScript.RegisterStartupScript。那可能会影响它
我知道如果功能在同一页面中,则找不到它们。尝试移至外部js文件。不要问我为什么这解决了问题,但是过去对我来说已经有好几次了。
仅出于调试目的,将函数完全排除在等式外,请尝试使警报像这样工作。如果可以,它将至少隔离问题

this.Page.ClientScript.RegisterStartupScript(this.GetType(),“ Cox”,“警报('这工作吗?')”,true);
查看页面的来源。该功能是否已写入页面(或第4点的警报)。它应该是。如果在this.Page.ClientScript.RegisterStartupScript方法上放置一个断点,会被命中吗?似乎并非如此。


很抱歉没有给您“嘿,这是解决方案”类型的答案。过去,我曾遇到过类似的事情,我发现这是将事情剥离下来直到问题被解决的问题。当然,其他人也许可以发现当前的问题。祝好运。

07-23 00:48