问题描述
- 前台js传递参数值到后台c#
-
aspx:<asp:HiddenField ID="txtLongitude" runat=server /> <asp:HiddenField ID="txtLatitude" runat=server /> <asp:Label ID=txtLabel runat=server></asp:Label>
js:
document.getElementById("txtLongitude").value=lon; document.getElementById("txtLatitude").value=lat;
后台c#:
string lon = txtLongitude.Value; string lat = txtLatitude.Value; txtLabel.Text = lon;
可是取不到值啊,求指教
解决方案
提交表单了没有?js动态设置不更新viewstate获取不到,用Request对象获取
string lon =Request["txtLongitude"];
string lat = Request["txtLatitude"];
解决方案二:
C#后台获得前台JS数据值
解决方案三:
只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态
解决方案四:
http://bbs.csdn.net/topics/390398669
解决方案五:
因为你 txtLongitude.Value; 里面值为空 所以取不到值
你给 txtLongitude.Value;添加一个值 就可以取到了
代码如下
ASPX
<br>
function load() {<br>
document.getElementById("txtLongitude").value = lon;<br>
document.getElementById("txtLatitude").value = lat;<br>
}</p>
<pre><code></script>
</code></pre>
<p></head><br>
<body onload="load()"><br>
<form id="form1" runat="server"><br>
<div><br>
<asp:HiddenField ID="txtLongitude" Value="999" runat="server" /><br>
<asp:HiddenField ID="txtLatitude" runat="server" /><br>
<asp:Label ID="txtLabel" runat="server" Text="Label"><a href="/asp:Label">/asp:Label</a><br>
</div><br>
</form><br>
</body><br>
</html></p>
<p>C#后台<br>
protected void Page_Load(object sender, EventArgs e)<br>
{<br>
string lon = txtLongitude.Value;<br>
string lat = txtLatitude.Value;<br>
txtLabel.Text = lon;<br>
}</p>
解决方案六:
解决方案七:
因为你 txtLongitude.Value; 里面值为空 所以取不到值
你给 txtLongitude.Value;添加一个值 就可以取到了
解决方案八:
服务器ID标签和客户端ID标签两个概念
在很多时候我们不能控制生成的客户端ID
所以ASP.NET 控件提供了ClientIDMode属性
将所有需要脚本调用的ID改写如下