在回发后js中分配的隐藏值丢失

时间:2011-06-07 18:45:14

标签: javascript asp.net postback hidden-field

这是我的问题。我有一个隐藏字段,其值通过javascript方法更改。问题是在回发后值丢失了。

如何在回发后保留该值?

谢谢!

.aspx文件

<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Button ID="BtnGuardar" runat="server" OnClick="BtnGuardar_Click" OnClientClick="return GridUpdateInfoOK()" />

.js文件

document.getElementById('<%= HiddenField1.ClientID %>').value = 'TEST';

.aspx.cs文件

protected void BtnGuardar_Click(object sender, EventArgs e)
{
    String test = HiddenField1.Value;
}

3 个答案:

答案 0 :(得分:14)

您无需在服务器上运行隐藏的输入。你可以这样做:

<input type="hidden" id="HiddenInput" name="HiddenInput" value="" />

然后当您回发时,您可以像这样访问它:

protected void BtnGuardar_Click(object sender, EventArgs e)
{
    String test = Request.Form["HiddenInput"];
}

答案 1 :(得分:5)

这不起作用。自PageLoad以来,该值不存在,因此不会回发。尝试使用带有style =“display:none”的TextBox。

答案 2 :(得分:0)

请使用

<asp:HiddenField
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    OnValueChanged="ValueChanged event handler"
    runat="server"
    SkinID="string"
    Value="string"
    Visible="True|False"
/>

然后我们将在回发后获得该值。

HiddenField的所有属性如下:

{{1}}