如何获取当前打开的浏览器屏幕窗口的确切高度和宽度?

推荐答案

可以使用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());

Asp.net相关问答推荐

包含Include的低速EF核心查询

在控制器中通过依赖项注入使用ASP.NET变量值时,不会持久化

.NET 框架 3.5 和 TLS 1.2

创建一个供 ASP.NET 应用程序中的所有线程使用的静态 Regex 对象是否有效?

没有回发的按钮?

在不知道键名的情况下访问 JSON 对象的元素

ASP.NET 中的 <% %>(嵌入式代码块)

缩小失败.返回未缩小的内容

.NET 上的 HTTP/2(HTTP2 或 SPDY)

ASP.NET MVC 4 的 Windows 身份验证 - 它是如何工作的,如何测试它

对于 DB ID,需要一个较小的 GUID 替代方案,但对于 URL 仍然是唯一且随机的

脚本管理器控制实际上是做什么的?

将 MemoryStream 写入响应对象

Ashx 文件中的 HttpContext.Current.Session 为空

将对象传递给 HTML 属性

服务器标签格式不正确错误

在控制器 asp.net-core 中获取当前区域性

Unity 中的单例每个调用上下文(Web 请求)

如何在不遍历每个循环的情况下从字典对象中获取所有键(仅键)

如何识别字符串是否包含 unicode 字符?