如何根据屏幕分辨率调整Asp.Net页面的大小

时间:2008-09-25 14:28:21

标签: asp.net

我正在开发一个具有图表控件的Web应用程序。 我开发了一个通用的图表User Control,可以在整个应用程序中使用。

我正在寻找一种基于屏幕(浏览器大小)设置Chart控件以及其他控件的宽度,高度的优雅方法。

请帮帮我 谢谢 Shaik

4 个答案:

答案 0 :(得分:4)

一般来说,相对于客户端屏幕调整元素大小的最简单方法是给它指定一个百分比的宽度(例如25%)。您还可以通过以ems(例如10em)指定宽度来相对于字体大小调整对象的大小。

如果百分比不起作用,那么另一种方法是使用JavaScript在客户端的浏览器中动态调整对象的大小。这样做的缺点是JavaScript必须与构成控件的HTML元素进行交互,而不是直接对控件进行操作。

答案 1 :(得分:3)

听起来您想要根据客户端值调整服务器端动态图像的大小。您首先需要加载页面一次,使用Javascript来获取屏幕大小。 (谷歌就是这样。您可以获得在Quirksmode.org使用哪些Javascript元素的完整跨浏览器技术列表,但您仍需要弄清楚如何自己编写脚本。)然后,将该大小发回到服务器,使用这个新大小设置控件,然后像往常一样将其呈现给客户端。请记住,如果用户完全调整浏览器窗口的大小,它将不再“适合”。并且您可以随时使用像Aaron所提到的CSS的百分比大小,但当然浏览器会调整图像的大小,这看起来永远不会那么好。

另一种选择是将它放在Flash控件中。只要图表由Flash使用矢量元素渲染,通常会更好地动态调整大小。

无论哪种方式,您都希望确保这对您的网页设计有意义。有时候使它变得动态是有好处的,有时候一定数量的静态尺寸是有道理的 - 所有这些都取决于很多东西,包括它是否值得去解决所有麻烦。

答案 2 :(得分:1)

来自Cyscape的名为“Browserhawk”http://www.cyscape.com/showbrow.aspx的产品将为您提供在服务器端做出正确渲染决策所需的信息。

答案 3 :(得分:0)

隐藏div设置为100%100%可用于告诉您浏览器窗口客户区的大小;我不认为有一种方法可以在没有回发/回调的情况下测量屏幕

请参阅How to implement a web page that scales when the browser window is resized了解更多信息