2012-01-14 100 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。