可以使用Javascript获取视口的宽度和高度.然后通过隐藏表单输入或Ajax传回这些值.
var width = $(window).width();
var height = $(window).height();
假设你有:JQuery framework.
首先,添加这些隐藏的表单输入来存储宽度和高度,直到回发.
<asp:HiddenField ID="width" runat="server" />
<asp:HiddenField ID="height" runat="server" />
接下来,我们想要获取窗口(视口)的宽度和高度.为此,jQuery有两个方法,分别命名为width()和Height().
将以下代码添加到您的应用程序中.头元素中的aspx文件.
<script type="text/javascript">
$(document).ready(function() {
$("#width").val() = $(window).width();
$("#height").val() = $(window).height();
});
</script>
Result
这将导致浏览器窗口的宽度和高度在回发时可用.只需访问隐藏的表单输入,如下所示:
var TheBrowserWidth = width.Value;
var TheBrowserHeight = height.Value;
此方法在回发时提供高度和宽度,但在初始页面加载时不提供.
Note on UpdatePanels: If you are posting back via UpdatePanels, I believe the hidden inputs need to be within the UpdatePanel.
或者,您可以通过Ajax调用回发值.如果要对窗口大小调整做出react ,则此选项非常有用.
Update for jquery 3.1.1个
我必须将JavaScript更改为:
$("#width").val($(window).width());
$("#height").val($(window).height());