2011-12-26 65 views
0

我想做到以下几点读取浏览器窗口大小将它传递给C#

我需要生成bassed屏幕分辨率选项卡的n个。例如,如果屏幕分辨率是800x600,我想使用C#生成4个选项卡。如果它是1024x764,那么有10个选项卡。

我知道我可以使用screen.widthscreen.height使用JavaScript来获得高度和宽度。我将它写在body的onload()上,并设置两个隐藏字段来获取服务器端的值。

的问题是,服务器端代码将执行第一和JavaScript代码会被执行。我对吗 ?由于这个原因,当我需要时,我无法在隐藏字段中获得正确的值。但是当我使用JavaScript代码中的alert()时,它显示正确的分辨率。

我怎样才能获得服务器端代码正确的分辨率?

回答

0

你只能得到一个完整的往返后的分辨率(服务器提供的网页,JavaScript的读取值,浏览器传递值到服务器)。

这可以通过AJAX,或通过发布一个形式,饼干或通过URL。许多不同的方式来实现这一点。

+0

可我得到的链接检索我的网页的谷? – Rauf 2011-12-27 05:13:49

0

不是最优雅的,但你可以捕捉的JavaScript变量在一个“存根”页面,然后期待一个asp页面,在屏幕水库作为参数,使用在服务器端

1

看Request.Params用于包含服务器上的屏幕宽度的cookie。如果Cookie不存在,则发回创建cookie的页面并重定向到原始URL。当cookie可用时,使用宽度的值来确定要生成的标签数量。在这里看到的浏览器端cookie管理教程:http://www.quirksmode.org/js/cookies.html或者使用jQuery已经使用jQuery的cookie plugin。每当浏览器调整大小时,您都需要生成一个新的cookie值。

现在,你有如何去做一个基本的轮廓,让我说,我认为这是更好地建设标签式界面,使其具有相同数目的标签作品无论屏幕宽度。查看jQuery UI标签如何工作,方法是将每个标签左侧浮动,以便如果没有足够的屏幕将它们全部显示在一行上,则会流到另一行(依此类推)。

0

获取的javascript窗口diamensions和使用AJAX传递到服务器页面,获得从现在页面和负载响应(HTML 4片/ HTML 10选项卡)到初始页面

1

这有助于me createCookie("cookieScreenWidth", screen.width, 1);其中createCookie(...)是用户定义的函数。我在登录页面中编写了代码。

所以,我可以为(使用C#) Request.Cookies.Get("cookieScreenWidth").Value