2011-09-26 61 views
1
中的多個iFrame

我的asp.net頁面中有多個iframe。但是,所有這些iframe都是通過循環加載並具有相同的頁面。 這些所有的iframe最後都會加載,在循環完成之後,因爲這些我將獲得所有iframe中的最後一個循環數據。Asp.net:頁面

該怎麼做。

這是我的主網頁的代碼,其中I幀在循環中創建:

for (int iCount = 0; iCount < rcChartSubject.Items.Count; iCount++) 
    { 
SetChart(); 
    if (iCount.Equals(1)) 
       { 
        divRadarChart1.InnerHtml = ""; 
        divRadarChart1.InnerHtml = "<iframe class='RadarSize' src='RadarChart.aspx' frameborder='0' width='680px' height='480px'></iframe>"; 
        divRadar1.Visible = true; 
       } 
       else if (iCount.Equals(2)) 
       { 
        divRadarChart2.InnerHtml = ""; 
        divRadarChart2.InnerHtml = "<iframe class='RadarSize' src='RadarChart.aspx' frameborder='0' width='680px' height='480px'></iframe>"; 
        divRadar2.Visible = true; 
       } 
    } 

在SetChart()方法我設置全局變量用於產生圖表。但是如果for循環是4次,那麼iframe頁面最後4次加載,而不是逐個加載for循環,並且由於這我得到了循環全局變量的最後一個。

而且在RadarChart.aspx頁我使用類似下面的全局變量值:

protected void Page_Load(object sender, EventArgs e) 
    { 
ltRadar.Text += string.Format("<input type='hidden' name='chxl' value='0:|{0}|1:|{1} |' />", strRadarChartSubjectLabel, strRadarChartAxisValue); 
} 
+0

可以請你把更多的細節。不清楚。 –

+0

我不明白。請提供這個「最後一次循環數據」問題的例子。 –

+0

可能會告訴我們一些代碼嗎? –

回答

3

所有iframe將在最後加載頁面時,你的循環執行完畢。因此,如果您正在使用全局變量並在iframe頁面中設置這些變量的值,那麼您將在所有變量中包含最後的數據。更好的方法是使用查詢字符串,您可以傳遞所有變量的值並在頁面中設置這些值。所以所有頁面都會有單獨的數據加載。

試試這個:

<iframe class='RadarSize' src='RadarChart.aspx?q1=val1&q2=val2' frameborder='0' width='680px' height='480px'></iframe>