2012-10-24 47 views
0

我有一個相當簡單的頁面,它查詢Web服務從SQL服務器提取數據,返回一個不同大小的通用列表。我想要做的是在運行時調整div的高度,在foreach循環的每次迭代中向現有的CSS鍵添加一定數量的像素,以便投影列表不會溢出容器div。如何在運行時從代碼隱藏更改CSS密鑰的值?

我使用放列表頁面上的代碼如下:

int total = 0; 
lstUsageServices.Text = string.Empty; 
lstUsageRequests.Text = string.Empty; 
if (txtAccount.Text != string.Empty) 
{ 
soapClient = new UsageService.ServiceSoapClient(); 
foreach (UsageClient.UsageService.Usage current in soapClient.GetUsage(txtAccount.Text, startPicker.SelectedDate, endPicker.SelectedDate)) 
{ 
lstUsageServices.Text += current.Service + "<br />"; 
lstUsageRequests.Text += current.Requests.ToString() + "<br />"; 
total += current.Requests;       
} 
lstUsageServices.Text += "<strong>Total</strong>"; 
lstUsageRequests.Text += "<strong>" + total.ToString() + "</strong>"; 

我想要做的,就是添加在foreach內部的線路來引用一個div:

<div class="main" runat="server" id="mainDiv"> 

並增加CSS「height:Xpx;」每次迭代。

我希望有人能幫助它似乎並不像這不應該是一個困難的事情!感謝提前:)

+0

如果你想增加'div'的高度,因爲它得到更多的內容,你就不能離開它的高度自動? – Rawling

+0

試圖離開汽車,似乎並不榮幸,即使當我添加!重要 – JamieS

回答

2

一個簡單的方法可以

mainDiv.Attributes.CssStyle.Add("height", "Xpx"); 
+0

這個想法是正確的; OP將需要計算X,然後在循環之後分配它。 –

+0

這很好,所以我只是保持行數的計數,並將計數乘以一行所佔的像素數。這不是一個問題,我會不斷添加更多的屬性,最近的只是替換前一個? – JamieS

+0

在此unfortunateley沒有喜悅,加入下面的到現在利用 mainDiv.Attributes.CssStyle.Add( 「高度」,(420 +(rowCount時* 10))的ToString()); – JamieS