在服务器端javascript后读取隐藏字段的值

时间:2013-11-01 21:38:17

标签: c# javascript jquery asp.net

我有一个asp:hiddenfield的问题,当我在客户端更改它的值并希望在服务器端获取它时,它给我null ... 这是客户端代码:

function pageLoad() {
        var gV = $('#<%=HiddenField1.ClientID %>');
        gV.val("1");
}

我希望在服务器端代码中获取hiddenfield的值:

protected void Button1_Click(object sender, EventArgs e)
    {
        Button1.Text = HiddenField1.Value;
    }

但按钮文本的结果为空...为什么? 提前谢谢:)

2 个答案:

答案 0 :(得分:1)

这一行之后:

var gV = $('#<%=HiddenField1.ClientID %>').val();

gV是一个字符串,因此gV.val("1")没有意义。

试试这个:

var gV = $('#<%=HiddenField1.ClientID %>');
gV.val("1");

现在,这不应该导致HiddenField1.Value为空...你的意思是空吗?

答案 1 :(得分:0)

您可以尝试准备好文件吗?

<asp:HiddenField runat="server" ID="HiddenField1" />
<script type="text/javascript" 
   src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        var gV = $('#<%= HiddenField1.ClientID %>');
        gV.val("1");
    });
</script>
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" />

或 - 使用ScriptManager调用pageLoad

<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>
<asp:HiddenField runat="server" ID="HiddenField1" />
<script type="text/javascript" 
  src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    function pageLoad() {
        var gV = $('#<%= HiddenField1.ClientID %>');
        gV.val("1");
    }
</script>
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" />