2013-02-07 249 views
2

如何在Asp.net(C#)項目中獲取服務器端的屏幕寬度?Asp.Net獲取屏幕寬度

+0

我發送來自客戶端的數據嘗試過,但每個人都使用JavaScript。然後我不想使用它。 – John

+0

看看http://stackoverflow.com/questions/3948562/how-to-get-window-width-and-height-with-yui 謝謝 – NetStarter

回答

6

你可以用javascript讀取它並將結果提交給服務器。
僅服務器端解決方案不能存在,因爲html不會在請求中自動提交這些數據。

+0

@Readers建議閱讀下面的一些答案以及伊扎克或50給出了我正在尋找的答案。 – Lsakurifaisu

5

將這個表單上:

<input type="hidden" value="" 
    name="clientScreenHeight" id="clientScreenHeight" /> 
<input type="hidden" value="" 
    name="clientScreenWidth" id="clientScreenWidth" /> 

這是onload事件腳本:

$(document).ready(function() { 
    $("#clientScreenWidth").val($(window).width()); 
    $("#clientScreenHeight").val($(window).height()); 
}); 

這是服務器端代碼:

string height = HttpContext.Current.Request.Params["clientScreenHeight"]; 
string width = HttpContext.Current.Request.Params["clientScreenWidth"]; 
+0

只需要注意一點就是要小心是否需要窗口或屏幕寬度。在Javascript屏幕中,意味着顯示器使用screen.width。對窗口寬度使用規定的代碼,即如果用戶沒有全屏運行,您將獲得調整大小的窗口大小。這可能非常重要,具體取決於您對數字進行的操作。 –

+0

嘗試在VS C#項目的aspx文件中添加隱藏的輸入值clientScreenHeight和clientScreenWidth,並將onload腳本添加到頁面使用ScriptManager.RegisterStartupScript(this,GetType(),「ClientViewport」,腳本加載時調用的Page_Load函數中,如上所示,使用腳本。當我使用服務器端代碼檢索高度和寬度時,它們只包含在aspx文件中設置的空字符串。存儲值的腳本不起作用,但似乎沒有任何錯誤。我是否將輸入隱藏對象放在正確的位置並正確執行腳本? – SimonKravis

+0

問題在於,我在加載的表單母版頁中的ScriptManager控件沒有任何腳本。添加以下腳本導致服務器端代碼檢索正確的值: – SimonKravis

2

讓人物

Request.Browser.ScreenCharactersWidth 
Request.Browser.ScreenCharactersHeight 

得到解決

您需要使用JavaScript或jQuery的 我用這個代碼,其良好的工作

var ScreenPixelsHeight = window["innerHeight"]; 
var ScreenPixelsWidth = window["innerWidth"]; 
var JSLink = "http://www + "&ScreenPixelsHeight="+ScreenPixelsHeight+ 
"&ScreenPixelsWidth="+ScreenPixelsWidth; 
+0

正如MSDN(https://msdn.microsoft.com/en-us/library/aa710891.aspx)所述:」這些值不一定準確「 - 默認值爲」96「。 – TGlatzer

1

使用下面的代碼

int width = (Request.Browser.ScreenPixelsWidth) * 2 - 100; 
int height = (Request.Browser.ScreenPixelsHeight) * 2 - 100; 
+0

該代碼返回相同的值,與瀏覽器窗口的實際大小無關。在Chrome UA Spoofer上使用UserAgent欺騙來仿真不同的瀏覽器,並更改窗口大小不會更改這些值。 – SimonKravis