2011-01-20 29 views
1

在asp.net中,如何根據其百分比獲取控件的高度?獲取控件的寬度ASP.NET

我可以得到width屬性,但我將其設置爲100%,我需要的實際像素

我需要它,所以我可以根據計算機的resulotion定製我的網站。 (它可以是任何控制面板,div等)

+3

Web服務器無法知道客戶端的分辨率是什麼。我不認爲這是可能的一些可怕的JavaScript黑客入侵。 – fearofawhackplanet 2011-01-20 13:54:07

+0

@fearofawhackplanet,你可以用漸進增強技術輕鬆做到這一點:http://html5boilerplate.com/我也推薦這本書進入http://amzn.to/eXHapo – IrishChieftain 2011-01-20 14:56:34

回答

1

只需以像素爲單位訪問(開箱即用)控件的高度屬性。計算此寬度與頁面中容器寬度的比值,並以百分比表示此數字。

例如:

(myControl.height/myPanel.height)/ 100 + 「%」;

但是,這不是設計一個網頁在不同大小的瀏覽器中播放很好的方式。根據您使用的控件類型,這可能會變得非常混亂,我只是在這裏談論外觀。爲此和您的容器使用固定寬度。如果你需要的話,用CSS和JS逐步增強你的網站。

如果冒着烤的風險,我會說:從不使用液體佈局 - 它們改變佈局的比例並破壞頁面組成。使用液體佈局總是會導致您不得不應用代碼來更改圖像相對於其容器的圖像/高度比率 - 並且這總是會導致圖像質量下降和/或頁面組成不良。

0

我相信,因爲這是不可能在服務器端:

  • 輸出佈局修改,直到呈現階段。在此之前,這些估計是錯誤的/誤導性的,因此如果它們確實存在,那麼它們將是不好的設計。
  • 佈局和實際像素取決於瀏覽器設置和HTML標準的解釋。即使ASP.NET有一些關於瀏覽器差異的知識,它也沒有關於瀏覽器的直接信息,也不包含所有的渲染引擎。

百分比被重定向到瀏覽器渲染引擎,我懷疑標準的ASP.NET控件對特定的值做任何事情。