这是我的问题。我有一个隐藏字段,其值通过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;
}
答案 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}}