2010-08-15 262 views
4

我的iframe,在服務器端的工作原理:
加載內容AJAX

<iframe frameborder="0" runat="server" style="width: 100%; height: 700px; background-color: #bacad3;" id="I1" name="I1" src="Page.aspx"></iframe> 

,我用這個代碼中動態改變內容:

protected void Button1_Click(object sender, EventArgs e) 
{  
    I1.Attributes["src"] = "Page.aspx"; 
} 

我要實現它與阿賈克斯在以下幾種方式:

  1. 當用戶點擊側面的iframe不要回發p年齡和改變的iframe
  2. 的src我想說明通過調用iframe之外例如progressupdatepanel內的進展

我說出來,我不想只運行加載與阿賈克斯的iframe內頁的任何回發沒有在網頁上的按鈕,它是由更新面板處理,它加載其他頁面的IFRAME裏面的內容。 有人可以幫我嗎?

回答

3

用的OnClientClick和mmke一定要返回false取消回發。

window.frames["frameName"].src = "http://example.com"; 
//or 
document.getElementById("iframeId").src = "http://example.com"; 

如果使用RUNAT =服務器,你可能需要使用客戶端ID

document.getElementById("<%= iframeId.ClientID %>").src = "http://example.com"; 
+0

謝謝,但問題是,你的答案是不完全的,我可以實現這個事情,如果可能的話,請評論一些refrences或樣本的鏈接我沒有的OnClientClick的任何背景,你剛纔說的OnClientClick,並確保你返回false,取消回發我使用服務器端componants,我想顯示加載頁面的進度,UpdatePanel中的iframe裏面的進度,這樣你說,但很短的我不明白 – kamiar3001 2010-08-16 06:07:38

+0

它已回傳再次,它不能正常工作我要加載內的iframe的新頁面中刪除回傳,但現在這個什麼也不做,我 – kamiar3001 2010-08-16 06:13:51

+0

MSDN文檔是偉大的http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button。 onclientclick.aspx – epascarello 2010-08-17 04:05:35

0

我發現它使用它需要代理方式方法,像谷歌這種方法無法刪除回發是不可能的郵件(Gmail的),當你點擊收件箱它不回發正確的apears但我們不能用這種方法實現。