将JS OnClientClick添加到代码隐藏中的按钮时出现问题

时间:2014-01-22 15:19:12

标签: c# javascript asp.net code-behind

我正在尝试以编程方式将按钮添加到页面中,当它们被单击时我想调用父项中的函数(按钮位于jQuery对话框中)该函数正常工作,因为我一直在使用它另一种方式但是我在从代码隐藏中添加JS到onClientClick时遇到了问题。

btnLink.OnClientClick = "window.parent.openlink(http://www.google.co.uk, test, 300, 300);return false;";

我查看了开发人员工具并且它没有设置onclientclick但是使用onclick,我不知道这是否会导致问题。

这是父页面上按钮的示例及其生成方式(工作模型):

<input name="btnOpen" class="DataControlButtons" id="btnOpen" onclick="openlink('CustomerTypes-Open.aspx', 'Open', '1000', '470'); return false;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;btnOpen&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" type="submit" value="Open">

这是生成非工作按钮的方式:

<input name="ctl02" onclick="window.parent.openlink(http://www.google.co.uk, test, 300, 300);return false;" type="submit" value="Configuration">

1 个答案:

答案 0 :(得分:2)

函数字符串参数缺少引号,使得此调用成为无效的javascript。尝试将它们转换为有效的字符串:

btnLink.OnClientClick =
    "window.parent.openlink('http://www.google.co.uk', 'test', 300, 300);return false;";