Миграция: с ASP.NET 1.1 на ASP.NET 2.0, прерванная обратная передача - PullRequest
0 голосов
/ 13 мая 2009

Мы только что перенесли наше веб-приложение с .NET 1.1 на .NET 2.0.

Веб-приложение изначально было написано в .NET 1.1 с использованием Visual Studio 2003. Для его миграции мы преобразовали решения в VS2005.

Помимо некоторых незначительных проблем, таких как несовместимость RESX и неработающие элементы управления календаря, веб-приложение работало.

Однако мы только что протестировали его сегодня, и некоторые функции обратной передачи неожиданно перестали работать. В частности, «Браузер файлов» один. Когда пользователь нажимает на кнопку обзора, открывается новое окно (пользовательская страница), которое позволяет ему искать файл, затем путь PATH передается на родительскую страницу, затем сохраняется в текстовом поле, а затем отправляется обратно в сделать некоторую проверку на пути. Однако в POSTBACK путь, который был сохранен в текстовом поле, теперь исчез и был заменен путем «по умолчанию».

Есть ли что-то, на что мы должны обращать внимание при переходе с 1.1 на 2.0, которое может сломать обратную передачу?

Спасибо! :)

1 Ответ

0 голосов
/ 13 мая 2009

Это проблема дизайна в ASP.NET 2.0.

Мое текстовое поле было установлено только для чтения. Такое поведение разработано в ASP.NET 2.0 и было разработано с учетом того, что ReadOnly TextBox не должен изменяться на стороне клиента вредоносным кодом.

Обход: Вместо того, чтобы устанавливать свойство readonly во время разработки, вы должны установить его во время выполнения.

TextBox1.Attributes.Add («только для чтения», «только для чтения»);

Ссылка: http://www.dotnetspider.com/resources/3120-ASP-NET--TextBox-Ready-Only-losing-client-side-changes-values-across-postback.aspx

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.readonly.aspx

...