Ric*_*ich 31
您可以使用Javascript来获取视口宽度和高度.然后通过隐藏的表单输入或ajax传回值.
var width = $(window).width();
var height = $(window).height();
Run Code Online (Sandbox Code Playgroud)
假设你有:JQuery框架.
首先,添加这些隐藏的表单输入以存储宽度和高度,直到回发.
<asp:HiddenField ID="width" runat="server" />
<asp:HiddenField ID="height" runat="server" />
Run Code Online (Sandbox Code Playgroud)
接下来我们想要获得窗口(视口)的宽度和高度.JQuery有两种方法,恰当地命名为width()和height().
将以下代码添加到head元素中的.aspx文件中.
<script type="text/javascript">
$(document).ready(function() {
$("#width").val() = $(window).width();
$("#height").val() = $(window).height();
});
</script>
Run Code Online (Sandbox Code Playgroud)
结果
这将导致浏览器窗口的宽度和高度在回发时可用.只需访问隐藏的表单输入,如下所示:
var TheBrowserWidth = width.Value;
var TheBrowserHeight = height.Value;
Run Code Online (Sandbox Code Playgroud)
此方法在回发时提供高度和宽度,但不在初始页面加载时提供.
关于UpdatePanels的注意事项:如果您通过UpdatePanels回发,我相信隐藏的输入需要在UpdatePanel中.
或者,您可以通过ajax调用回发值.如果您想对窗口大小调整做出反应,这非常有用.
更新jquery 3.1.1
我不得不将JavaScript更改为:
$("#width").val($(window).width());
$("#height").val($(window).height());
Run Code Online (Sandbox Code Playgroud)
所以这是您将如何做。
编写一个JavaScript函数,该函数将在调整窗口大小时触发。
window.onresize = function(event) {
var height=$(window).height();
var width=$(window).width();
$.ajax({
url: "/getwindowsize.ashx",
type: "POST",
data : { Height: height,
Width:width,
selectedValue:selectedValue },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
// do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
处理程序的代码背后:
public class getwindowsize : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "application/json";
string Height = context.Request.QueryString["Height"];
string Width = context.Request.QueryString["Width"];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
94321 次 |
最近记录: |