2009-10-15 93 views
0

我在框架集中有2个页面,第一页中我有一个Javascript函数,第二个是带有按钮的asp.net窗体,事情是我需要调用在第一页中的JavaScript功能,当用户点击这个按钮:从一个框架中的asp.net页面调用Javascript函数

我与努力:

ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script language=JavaScript>parent.frames[0].Function('parameter')</script>"); 

有警报(“...”);在函数中,但是当我调用它时,我什么都看不到,显然这个函数没有执行。

¿如何调用该函数?感谢您的帮助&建议。

+1

您确定在第二页调用函数时加载了第一页吗? – 2009-10-15 22:27:55

+0

是的,我用HTML尝试过,它工作正常。 – doc 2009-10-15 22:29:33

+0

您使用内嵌脚本在HTML中尝试过,还是通过另一个文件加载脚本?尝试构建尽可能靠近ASPX的HTML版本。与渲染的ASPX代码相比也是如此。 – 2009-10-16 00:28:36

回答

1

尝试使用FireBug(对于firefox,或对其他浏览器使用FireBug Lite)来查看每个帧具有的实际HTML和脚本。
一旦您完成在ASP.net中正确创建的代码,继续使用FireBug来查看脚本代码使用断点出错的位置。
如果你想更快的想法,尝试使用在你调用函数之前把代码中的一些测试,试试这个:

alert(parent.frames.length); 
alert(parent.frames[0].Function); 
parent.frames[0].Function('parameter'); 
0

非常感谢,德罗尔,你为我过去费时麻烦!

我要补充的是,它看起来像一个可以使用除了框架的名称索引(原谅我,朋友们,如果这是显而易见的):

父HTM:
        :
    <frameset rows="120,*">
        <frame name="OverviewFrame" id="OverviewFrame" src="eoverview.htm">
        <frame name="LegendFrame" id="LegendFrame" src="">
    </frameset>
    <frameset cols="50%,50%">
        <frame name="ControlsFrame" id="ControlsFrame" src="zoomcontrols.htm">
        <frame name="InsetControlsFrame" id="InsetControlsFrame" src="insetcontrols.htm">
    </frameset>
        :

框架HTM(insetcontrols.htm):
    parent.frames['OverviewFrame'].enableSync(false);

(其中eoverview.htm包含功能enableSync(bool)

上FF3.6.3,铬4.1.249测试。 1064,Safari 4.0.5,Opera 9.80,IE 8,IE 8兼容模式

+0

快乐它帮助你:) – Dror 2010-09-12 08:40:54

相关问题