获取控件的宽度ASP.NET

时间:2011-01-20 13:42:20

标签: c# asp.net controls height resolution

在asp.net中,如何根据百分比获得控件的高度?

我可以获取width属性,但我将其设置为100%,我需要实际像素

我需要它,所以我可以根据计算机的结果自定义我的网站。 (它可以是任何控制 - 面板,div等)

2 个答案:

答案 0 :(得分:1)

只需访问(开箱即用)控件的height属性(以像素为单位)。计算此宽度除以页面中容器宽度的比率,并将该数字表示为百分比。

例如:

(myControl.height / myPanel.height)/ 100 +“%”;

然而,这不是设计网页在不同大小的浏览器中播放效果的方法。根据您使用的控件类型,这可能会变得非常混乱,我只是在这里谈论外观。为此容器和容器使用固定宽度。如果需要,可以使用CSS和JS逐步增强您的站点。

冒着被烤的风险,我会说:从不使用液体布局 - 它们会改变布局的比例并破坏页面构成。使用液体布局总是最终需要应用代码来更改图像相对于容器的图像/高度比 - 这总是会导致图像质量下降和/或页面构图不良。

答案 1 :(得分:0)

我认为这在服务器端是不可能的,因为:

  • 修改输出布局,直到渲染阶段。在此之前,这些估计是错误的/误导性的,因此如果它们确实存在,它们将是糟糕的设计。
  • 布局和实际像素取决于浏览器设置和HTML标准的解释。尽管ASP.NET对浏览器的差异有一些了解,但它没有关于浏览器的直接信息,也没有包含所有渲染引擎。

百分比被重定向到浏览器呈现引擎,我怀疑标准ASP.NET控件是否对特定值做任何事情。