获取控件的宽度 ASP.NET

发布于 2024-10-13 21:20:45 字数 133 浏览 2 评论 0原文

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

我可以获得宽度属性,但我将其设置为 100%,并且我需要

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

In asp.net, how do I get a control's height according to its percentage?

I can get the width property but I set it to 100% and I need the actual pixels

I need it so I can customize my website according to the computer's resulotion. (It can be any control - panel,div, etc)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

妳是的陽光 2024-10-20 21:20:45

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

例如:

(myControl.height/myPanel.height)/100 + "%";

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

冒着被批评的风险,我要说的是:永远不要使用液体布局 - 它们会改变布局的比例并破坏页面的组成。使用液体布局最终总是导致您必须应用代码来更改图像相对于其容器的图像/高度比 - 这总是会导致图像质量损失和/或页面构图不良。

Just access the (out of the box) control's height property in pixels. Calculate the ratio of this width divided by width of its container in the page and express this number as a percentage.

For example:

(myControl.height/myPanel.height)/100 + "%";

However, this is not the way to design a Web page to play nice in different sized browsers. Depending on what type of control you're using, this could get real messy and I'm just talking appearance here. Use fixed width for this and your container. Progressively enhance your site with CSS and JS if you need to.

At the risk of getting roasted, I'm going to say this: NEVER used liquid layouts - they change the ratio of the layout and destroy the page composition. Using liquid layouts always ends up with you having to apply code to change the image/height ratio of your images in relation to their container - and this always results in loss of image quality and/or bad page composition.

℉絮湮 2024-10-20 21:20:45

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

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

百分比被重定向到浏览器渲染引擎,我怀疑标准 ASP.NET 控件是否会对特定值执行任何操作。

I believe this is not possible on server side because:

  • The output layout is modified until the rendering phase. Before that these estimations would be wrong/misleading and hence imho if they did exist, they would be bad design.
  • layout and the actual pixels depend on the browser settings and interpretation of HTML standard. Even though ASP.NET has some knowledge about differences of browsers it DOES NOT have direct info about browser neither contain all rendering engines.

The percentages are redirected to browsers rendering engine, I doubt standard ASP.NET controls do anything at all with the specific values.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文