2015-07-01 43 views
0

我有一個包含iframe的jquery對話框。根據gridview中的記錄數調整iframe的高度

iframe包含asp.net gridview。它可以是0,1或許多。

如果它是1,iframe應調整到一個記錄的高度。如果有兩個,則調整爲兩個,依此類推。當然,有一個限制。目前,我想顯示10條不帶滾動條的記錄。如果有10條記錄,則滾動條。對於初學者,我假設每條記錄佔用一條線(它可佔用多條線,但現在,我只想使它適用於一個簡單情況) 有多種資源可以解決此問題。很多人都建議最小高度

http://forums.asp.net/t/1923309.aspx?+div+height+abject+dynamically+based+on+Gridview+

不過,我試過這種方法,它不工作

我的理解是,如果只有一個記錄,高度將是調整爲19px,高度將根據gridview進行調整。如果有超過10條記錄,高度將爲190px,並顯示滾動條。

我沒有得到我想要的結果。高度始終爲150px即使只有一條記錄

iframe with only one record, but it does not resize

正如您所知道的高度不縮小到19px。

別的我需要做的

此外,有些人認爲動態調整的iframe。我想避開那個。如果我能在簡單的CSS中完成,那將會很棒。當然,如果沒有其他選擇,我不排除JavaScript。但是,很多人都提到,身高體重應該解決問題。可能有更大量的編碼和調試,如果使用JavaScript來調整

感謝

回答

0

今天我有同樣的問題。

有一些CSS變通浮動網頁,如thisthis左右,但這些「解決方案」是對具體案件。 這樣做的最好方法是通過JS,就像人們向你建議的那樣。代碼不大,調試不需要很長時間(如果有的話)。

只是聲明瞭一個函數:

function resize(frame) { 
    frame.style.height = frame.contentWindow.document.body.scrollHeight + 'px'; 
} 

而且onLoad事件添加到您的iframe,像這樣:

<iframe id="frame1" onLoad="resize(this);"></iframe> 

這裏做的事情:當iframe中加載的內容,框架的高度設爲加載的內容身高。