按客户端屏幕大小调整网格大小
本文关键字:网格 调整 客户端 屏幕 | 更新日期: 2023-09-27 17:55:42
我想在页面加载时按客户端屏幕大小设置数据网格的大小。有没有办法在服务器端的页面加载或其他页面事件时获得此大小?
我使用Request.Browser.ScreenPixelsWidth
和Request.Browser.ScreenPixelsHeight
但这些尺寸不正确。 这些尺寸始终为 640 * 480。
Request.Browser.ScreenPixelsWidth
和Request.Browser.ScreenPixelsHeight
无法在服务器端提供客户端屏幕分辨率。
最好的方法是使用javascript-
<%if (!this.IsPostBack)
{%>
<script language="javascript" type="text/javascript">
var rowURL = window.location.href;
var screenWidth = window.screen.availWidth;
if (rowURL.indexOf("screen_width") == -1)
window.location.href = window.location.href + "?screen_width=" + screenWidth;
</script>
<%}%>
在网页的"正文"标记中使用此脚本。它只是将"screen_width"参数附加到查询字符串并刷新页面。通过这种方式,您可以从查询字符串中获取服务器端"screen_width"的值。
您可以使用 Javascript 来获取视口宽度和高度。然后通过隐藏的表单输入或 ajax 将值传回。
var width = $(window).width();
var height = $(window).height();
首先,添加这些隐藏的表单输入以存储回发之前的宽度和高度。
<asp:HiddenField ID="width" runat="server" />
<asp:HiddenField ID="height" runat="server" />
接下来我们要获取窗口(视口)的宽度和高度。JQuery 有两种方法,恰如其分地命名为 width() 和 height()。
将以下代码添加到 head 元素中的.aspx文件中。
<script type="text/javascript">
$(document).ready(function() {
$("#width").val() = $(window).width();
$("#height").val() = $(window).height();
});
</script>
这将导致浏览器窗口的宽度和高度在回发时可用。只需访问隐藏的表单输入,如下所示:
var TheBrowserWidth = width.Value;
var TheBrowserHeight = height.Value;
我希望它可能对你有所帮助。