2009-07-09 48 views
0

我目前正在實施一個網站的RSS饋線控制。我打算允許使用中繼控制器在主頁上顯示10個項目的限制。控制ASP .Net中繼器控制輸出高度

我的問題是如何防止超過一定尺寸的控件的高度?我無法保證每個RSS提要項目會提供多少內容。

我考慮過的一個選項是限制每個內容的內容量作爲內容的子字符串,但這仍然提供了一種通用方法。

有沒有一種方法可以確定控件在服務器端的每個控件渲染的頁面向下多遠,並在達到限制後放棄進一步的綁定?或者更好的方法是總是渲染10個項目,然後在頁面加載檢查時使用javascript,每個項目佔用多少空間作爲運行總量並在限制之後隱藏任何內容?

謝謝,

Brian。

回答

3

在控件的頁眉和頁腳模板中添加一個div標籤(或其他適當的塊級元素,因爲您可能已經在使用類似'table'的東西了),並使用css來設置此高度和溢出的樣式元件。

+0

+1;對於獎勵積分,使用溢出屬性使div在內部滾動。 – 2009-07-09 15:49:57

+0

難道這不僅僅是切斷內容嗎?我期望避免看到一半項目的內容或不得不引入滾動條。 – 2009-07-09 15:51:18

0

不可能告訴服務器端的高度是多少。所有瀏覽器渲染的內容都略有不同。你已經建議的最好的選擇是使用javascript。問題是爲什麼高度如此重要。我問,因爲通常網頁的高度增長,這是用戶很好的理解,他們習慣於使用垂直滾動條。在Web環境中,水平滾動條看起來很混亂,不直觀。

+0

高度很重要,因爲網站上有多個內容列。其他列是固定高度,但動態內容列是固定的主頁高度,應該只顯示內容,直到高度接近容器高度,以保持佈局爲固定網格樣式對齊。 – 2009-07-09 15:50:35

0

我一定會去的兩個JavaScript的選項;其他任何東西都會太麻煩(我能想到的解決方案從頭到尾都會涉及到實際上跟蹤特定字體的每個字符的高度和寬度,並手動完成大量的char by char計算),但另一個解決辦法是看有溢出包含分區:隱藏

0

我做了一段時間回來 - 你可以有使用下面的代碼可滾動的轉發器自身(應儘可能記住工作):

每當你數據綁定是網格使用下面的代碼peice的以determin如果沒有記錄超過頁面大小要保留:

例子:假設你想LIMTŧ他的頁面大小爲10然後,

if (ds.Tables[0].Rows.Count > 10) 
    myRepeater.Attributes["Style"] = "OVERFLOW-Y:auto;HEIGHT:200px;"; 
else 
    myRepeater.Attributes["Style"] = "OVERFLOW-Y:auto;"; 

你必須調整高度根據最適合用戶界面。