2012-10-26 91 views
2

如何獲取放置在masterpage中的div的高度?從masterpage獲取div的高度

我能夠設置高度如下:

((HtmlControl)this.Master.FindControl("sidebar")).Style.Add("height", "600px"); 

現在,我想從我的div高度稱爲mainPage,我該怎麼辦呢?

回答

1

MasterPage.Master:

<div id="_test" style="height: 100px" runat="server"></div> 

MasterPage.Master.cs:

public HtmlGenericControl test 
{ 
    get { return this._test; } 
} 

任何其他CS文件:

string width = ((MasterPage)this.Master).test.style["height"]; 

編輯:如果你想獲得任何樣式信息動態創建,因此您將需要將此信息存儲到隱藏字段中,因爲您無法這樣做通過在回發中調用樣式[「x」]來檢索數據。

編輯2:調整後的母版頁名稱。

+0

這將給出'width' CSS屬性的值,但不會提供'div'的實際高度。 –

+0

你是對的,看我的編輯;-) – UNeverNo

+0

嗨,我找不到(MainTemplate), – Mana

1

您將獲得作爲可以爲每個客戶不同的呈現在客戶端div的高度...

使用jQuery,你可以做

$("#sidebar").height(); 

但對於這個你會必須等待文件準備就緒。所以,你可以把該線路documentready功能:

$(document).ready(function(){}); 

編輯

另一種解決方案是增加runat="server"div

<div ID="sidebar" runat="server">...</div> 

然後從你的代碼,你可以做像

HtmlGenericControl sb = this.form1.FindControl("sidebar") as HtmlGenericControl; 
int sidebarHeight = sb.Height; 
+0

這是不可能的C#代碼?,不知道jQuery,所以我想在C#代碼中的答案,謝謝 – Mana

+0

你想要'寬度'CSS屬性的價值或'div的實際高度'? –

+0

即時通訊試圖獲取div的當前高度,而不是設置的css屬性 – Mana