2009-10-15 65 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

相關問題