前台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"];

http://bbs.csdn.net/topics/390398669

只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态

因为你 txtLongitude.Value; 里面值为空 所以取不到值

你给 txtLongitude.Value;添加一个值 就可以取到了

代码如下
ASPX




<br> function load() {<br> document.getElementById(&quot;txtLongitude&quot;).value = lon;<br> document.getElementById(&quot;txtLatitude&quot;).value = lat;<br> }</p> <pre><code>&lt;/script&gt; </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>

ASPX页面代码
C#后台代码

因为你 txtLongitude.Value; 里面值为空 所以取不到值

你给 txtLongitude.Value;添加一个值 就可以取到了

代码如下
ASPX代码
图片说明

C#后台代码
图片说明

服务器ID标签和客户端ID标签两个概念
在很多时候我们不能控制生成的客户端ID
所以ASP.NET 控件提供了ClientIDMode属性
将所有需要脚本调用的ID改写如下