У меня получилась простая страница с полем HtmlInputHidden. Я использую javascript для обновления этого значения, и при отправке страницы обратно я хочу прочитать значение этого поля HtmlInputHidden.
Свойство Value этого поля HtmlInputHidden имеет значение по умолчанию для обратной передачи (значение, которое оно имело при создании страницы, а не значение, отраженное через javascript).
Я также попытался зарегистрировать поле HtmlInputHidden с помощью ScriptManager.RegisterHiddenField (Page, «MyHtmlImputHiddenField», «начальное значение»), но он по-прежнему позволяет мне читать только «начальное значение», хотя я (через javascript) могу проверить, что значение изменилось.
В идеале вы хотите использовать элемент управления asp.net HiddenField
<asp:HiddenField id = "myHiddenField" runat = "server" />
Тогда вы сможете прочитать значение из кода позади, когда страница обрабатывается.
string value = myHiddenField.Value; // retrieve the value in hidden field
ref; Обзор серверного веб-элемента управления HiddenField
control.ClientID
) на стороне клиента (т. Е. При доступе из javascript), поскольку оно может измениться в зависимости от того, где на странице вы объявили элемент управления.Если подумать - я фактически не использовал asp: HiddenField - я использовал HTMLInputHidden, который не является «чистым» элементом управления asp.net. Я уверен, что ваш пример тоже сработает, поскольку все (afaik? Asp: элементы управления по умолчанию имеют для enableviewstate значение true)
Поле ввода должно быть внутри формы. Также убедитесь, что ViewState включен.
Спасибо - я забыл, что только для некоторых элементов управления (и без HTML-элементов управления) для enableviewstate по умолчанию установлено значение true :)
Хороший пост, который вы сделали. Я действительно сделал все вышеописанное, но забыл установить enableviewstate = "true";)