Проигрышное значение текстового поля ASP.NET после обратной передачи, когда значение изменяется клиентское с помощью JavaScript

Это старый вопрос, но недавно я столкнулся с той же проблемой на моем Mac с 10.12.6. Переменная DISPLAY не установлена ​​в терминале и ssh -X не работает. Это то, что я сделал, чтобы решить эту проблему:

  1. Переустановите XQuartz с помощью Homebrew: brew cask install xquartz (может потребоваться опция --forced)

  2. Добавьте модуль запуска XQuartz к системе по умолчанию (следуя решению, приведенному в этом сообщении Reddit : launchctl load -w /Library/LaunchAgents/org.macosforge.xquartz.startx.plist

  3. Перезагрузите систему.

После этого моя переменная DISPLAY установлена ​​правильно:

$ echo $DISPLAY /private/tmp/com.apple.launchd.mfXFpzZ0gC/org.macosforge.xquartz:0

И пересылка X11 в ssh также работает.

6
задан Jason 28 May 2009 в 18:38
поделиться

7 ответов

Обновление страницы ( нажатие F5) отличается от обратной передачи. Я не верю, что значение в вашем текстовом поле будет отправлено обратно на сервер при обновлении. Однако значение в текстовом поле будет отправлено обратно на сервер при обратной передаче (пока атрибут ReadOnly TextBox не установлен в значение true, но это другая история).

9
ответ дан 8 December 2019 в 13:48
поделиться

Единственная проблема заключается в том, что когда я обновляю страницу, текст в CharacterNameTextBox и ClassNameLabel, которые были установлены на стороне клиента через javascript , потеряны.

Поскольку вы устанавливаете значение на стороне клиента, я бы предложил использовать файлы cookie для хранения этих данных и проверки этого файла cookie на стороне клиента, поскольку ViewState здесь не поможет, если вы просто установите значение client- сторону, независимо от того, что CodeBehind установил бы для нее.

1
ответ дан 8 December 2019 в 13:48
поделиться

Проблема могла быть в одном из двух. После обновления можно очистить поле. Кроме того, если вы отправляете ответ, устанавливаете ли вы значение текстового поля в событии загрузки (или выгрузки) страницы?

0
ответ дан 8 December 2019 в 13:48
поделиться

Сохранение значений в скрытых полях - это не более хитрость, чем сама .NET Web Forms. Большая часть данных приложения передается / хранится в скрытом поле __VIEWSTATE.

При этом не могли бы вы прояснить, что происходит? Вы устанавливаете значение при загрузке страницы или в ответ на какое-либо действие пользователя? Не могли бы вы предоставить часть своего кода, чтобы мы могли иметь более четкое представление о том, что вы делаете?

РЕДАКТИРОВАТЬ

Вы явно устанавливаете значение текстового поля или метки в коде загрузки / обратной передачи вашей страницы? Это переопределит любые значения, установленные клиентским скриптом. Я не могу придумать никакой другой причины, по которой ценности не сохранятся. Если ты'

0
ответ дан 8 December 2019 в 13:48
поделиться

когда вы устанавливаете значение? Вы можете установить значение загрузки страницы в javascript, если вы используете clientId текстового поля.

0
ответ дан 8 December 2019 в 13:48
поделиться

В событии preinit страницы попробуйте получить доступ к следующему значению:

Request ["CharacterNameTextBox"]

Я столкнулся с той же проблемой (значение, установленное с помощью javascript, никогда не отправьте обратно, но введенное значение будет), и коллега предложил это. Мертвый, работает как шарм.

2
ответ дан 8 December 2019 в 13:48
поделиться

Вы должны помнить, KISS.

Просто подумайте о ваших существующих полях как о презентационных по своей природе и добавьте скрытые поля ввода с атрибутом runat = "server" и установите их с помощью JavaScript в вашем то же событие на стороне клиента.

Это ваши настоящие ценности, которые вы хотите использовать в методах кода программной части, и вы сможете без проблем получить их. Поскольку объект текстового поля является абстракцией .NET, я бы предложил при выполнении клиентской работы с использованием входных данных HTML, которые выполняются на сервере. Кажется, это избавляет меня от головной боли, когда я по колено в веб-формах BS.

Я думаю, что здесь есть много решений, но я за то, чтобы сломать запястье и уйти, если могу.

-1
ответ дан 8 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: