2012-01-14 92 views
-1

我有一個JavaScript來檢測用戶的瀏覽器寬度,並希望將寬度傳遞給aspx.vb.如何將javascript的值傳遞給aspx?

function chk_width() { 
var winW = document.body.offsetWidth; 
document.getElementById("hiddenfieldsize").value = winW; 
// alert(winW); 
} 

<body onLoad="chk_width()"> 

我曾嘗試使用下面的代碼,但我無法獲得該值。

Dim WinWdth As String = Request.Form("hiddenfieldsize").ToString 

+1

嗯,你可以顯示'hiddenfieldsize'的標記嗎?另外,當你在服務器代碼中檢查這個函數時,你確定表單被髮布了嗎? – 2012-01-14 01:41:55

回答

0

您可以通過在javascript中設置服務器控件的值來在服務器上獲取值。我已經說明了下面的代碼。希望這會對你有所幫助。

<asp:HiddenField runat="server" ID="hiddenfieldsize" /> 

function chk_width() { 
var winW = document.body.offsetWidth; 
document.getElementById("<%=hiddenfieldsize.ClientID %>").value= winW;  
} 

$(document).ready(function() { 
    chk_width(); 
}); 
0

您應該運行頁面加載後腳本。你可以把腳本放在頁腳上。當你的代碼運行時,你需要輸入 。 Hiddenfield可能會被卸載。

你可以在你的頁面上運行這個腳本。如果你的頁面有Jquery Reference。

$(document).ready(function() { 
    chk_width(); 
}); 
0

爲了將它傳遞迴服務器端,您將需要發佈數據。你必須爲此使用AJAX。