2012-10-26 35 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