Как устранить гоночные условия для элементов с autopostback = true в ASP.NET? - PullRequest
1 голос
/ 05 мая 2011

Мы разрабатываем с использованием Sharepoint, поэтому мы должны придерживаться ASP.NET 3.5. В случае, если на нашей странице есть поле с автостопом и кнопкой, мы сталкиваемся с условиями гонки, как только пользователь оказался в поле автостопбэка и нажимает кнопку. В этом случае нажатие кнопки иногда возвращается раньше, чем нажатие автоответчика, и поэтому переопределяется.

Кто-нибудь сталкивался с такими проблемами раньше?

Каково правильное решение для этого?

ADDON: Случай, о котором я говорю, касается следующего:

<form>
<ScriptManager />
<UpdatePanel>
<TextBox AutoPostBack="True" />
<Button />
</UpdatePanel>
</form>

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

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

Допустим, у вас есть автоответчик в раскрывающемся списке, в котором он переключает текстовое поле для некоторой информации подкатегории в определенных случаях. Либо происходит автоматическая обратная передача и сначала обновляется текстовое поле, либо отправка будет отправлена ​​с новым значением раскрывающегося списка, и проверка на стороне сервера определит, нужно ли указывать значение в этом подтексте. Если вы это сделаете, он вернется с включенным и, возможно, какой-то красный текст, который говорит, что это необходимо.

0 голосов
/ 05 мая 2011

Самое основное решение, которое я могу придумать, - отключить кнопку с помощью javascript, обработав клиентское событие, вызывающее автоответчик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...