无法理解为什么无法从后面的代码中调用以下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
方法上放置一个断点,会被命中吗?似乎并非如此。
很抱歉没有给您“嘿,这是解决方案”类型的答案。过去,我曾遇到过类似的事情,我发现这是将事情剥离下来直到问题被解决的问题。当然,其他人也许可以发现当前的问题。祝好运。