Скрытое значение в js потеряно после обратной передачи - PullRequest
9 голосов
/ 07 июня 2011

Вот моя проблема. У меня есть скрытое поле, значение которого я изменяю с помощью метода javascript. Проблема в том, что после обратной передачи значение теряется.

Как сохранить значение после обратной передачи?

Спасибо!

.aspx File

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

.js file

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

.aspx.cs file

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

Ответы [ 3 ]

14 голосов
/ 07 июня 2011

Вам не нужно запускать скрытый ввод на сервере. Вы можете сделать:

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

Затем, когда вы отправляете сообщение обратно, вы можете получить к нему следующий доступ:

protected void BtnGuardar_Click(object sender, EventArgs e)
{
    String test = Request.Form["HiddenInput"];
}
5 голосов
/ 07 июня 2011

Это так не работает.Значение отсутствует со страницы PageLoad, поэтому не будет отправлено обратно.Попробуйте использовать TextBox с style = "display: none".

0 голосов
/ 27 февраля 2017

Пожалуйста, используйте

<asp:HiddenField ID="HiddenField1" runat="server" EnableViewState="true"/>

Тогда мы получим значение после обратной передачи.

Все свойства HiddenField приведены ниже:

<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"
/>
...