asp.net将JS / jquery中的值传递给c#后面的代码

我已经尝试了“每种”可能的方式将screen.width vlaue从aspx页面上的JS脚本发送到后面代码中的c#,虽然我可以看到screen.width正确分配它永远不会分配给我的隐藏字段值。

   $(function(){ $('#hiddenfield').val(screen.width); });  other content  

和背后的代码:

 protected void btnChartGo_Click(object sender, EventArgs e) { string s = hiddenfield.Value; } 

无论我尝试什么,总是“”

上面的问题,每个人似乎都这样做,它的工作原理?

这应该得到正确的选择器:

 $('#<%= hiddenfield.ClientID %>').val(screen.width); 

渲染的隐藏字段的ID不是“hiddenfield” – 它将类似于ctl00_bodycontent_hiddenfield。

尝试使用

 $('[id$="hiddenfield"]') 

作为选择器而不是。

   

如果您使用的是ASP.NET 4或使用,请确保隐藏字段的客户端ID模式是静态的

 $('#<%= hiddenfield.ClientID %>').val(screen.width); 

检查页面的视图源并找出该元素的正确id,然后在其上使用jquery选择器,然后在页面加载检查request.form集合以检查隐藏变量是否在post请求中