2011-12-26 68 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