本帖最后由 kentspiral 于 2011-08-27 18:50:07 编辑

解决方案 »

  1.   

    js是在客户端执行,C#是在服务器端。服务器端执行完了才到客户端,当然获取不到js改变后的值。要想获取到js修改后的值,用ajax提交这个值或者简单点直接使用window.open打开一个新页面传递
      

  2.   

    可以取
    <form id="form1" runat="server">
        
        <asp:HiddenField ID="hid" runat="server" Value="-1" />
        <button onclick="handler()">click</button>    <asp:Button ID="btn" runat="server" Text="Get Hidden Value from Server Side" 
            onclick="btn_Click" />    <script type="text/javascript">        function handler() {
                document.getElementById('<%=hid.ClientID %>').value = Math.random();
                alert(document.getElementById('<%=hid.ClientID %>').value);
            }    </script>    </form>
    protected void btn_Click(object sender, EventArgs e)
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "msg", string.Format("alert('{0}')",hid.Value), true);
            }