我想做以下事情
我需要根据屏幕分辨率生成 n 个选项卡。例如,如果屏幕分辨率为 800x600,我想使用 C# 生成 4 个选项卡。如果是 1024x764,则为 10 个选项卡。
我知道我可以使用 JavaScript
使用 screen.width
和 screen.height
获取高度和宽度。我把它写在body的onload()
上,并设置两个隐藏字段来获取服务器端的值。
问题是,服务器端代码将首先执行,然后 JavaScript 代码将被执行。我对吗 ?因此,我无法在需要时获得隐藏字段中的正确值。但是,当我在 JavaScript
代码中使用alert() 时,它会显示正确的分辨率。
如何在服务器端代码中获得正确的分辨率?
最佳答案
在服务器上查找包含屏幕宽度的 cookie。如果 cookie 不存在,则发送回创建 cookie 的页面并重定向到原始 url。当 cookie 可用时,使用宽度值来确定要生成多少个选项卡。有关浏览器端 cookie 管理的教程,请参阅此处:http://www.quirksmode.org/js/cookies.html或使用 jQuery cookie plugin如果已经使用 jQuery。每当调整浏览器大小时,您都需要生成新的 cookie 值。
现在您已经了解了如何执行此操作的基本轮廓,让我说,我认为最好构建选项卡式界面,以便无论屏幕宽度如何,它都可以使用相同数量的选项卡。通过向左浮动每个选项卡来了解 jQuery UI 选项卡的工作原理,这样如果没有足够的屏幕将它们全部显示在一行上,它就会流动到另一行(依此类推)。
关于javascript - 使用 JavaScript 读取浏览器窗口大小,然后将其传递给 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636710/