Обратная передача ASP.NET с JavaScript

Я лично предпочитаю бывший подход (возвращающий индикатор ошибки).

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

В Вашем getSize () пример я полагал бы, что размеры должны всегда быть нулем или положительный, настолько возвращающийся отрицательный результат может указать, что ошибка, во многом как системные вызовы UNIX делают.

я не могу думать ни о какой библиотеке, которой я пользовался, который идет для последнего подхода с ошибочным объектом, переданным в как указатель. stdio, и т.д. все идут с возвращаемым значением.

80
задан Liam 29 November 2018 в 09:12
поделиться

5 ответов

Хотя решение Файро кажется теоретически разумным, я также нашел другое решение этой проблемы. Передавая идентификатор UpdatePanels в качестве параметра (цель события) для функции doPostBack, панель обновлений отправит обратно, но не всю страницу.

__doPostBack('myUpdatePanelId','')

* примечание: второй параметр для аргументов добавления событий

надеюсь, это кому-то поможет!

РЕДАКТИРОВАТЬ: похоже, этот же совет был дан выше, когда я набирал:)

8
ответ дан 24 November 2019 в 09:45
поделиться

Вы пытались передать идентификатор клиента панели обновлений функции __doPostBack? Моя команда сделала это, чтобы обновить панель обновлений, и, насколько мне известно, это сработало.

__doPostBack(UpdatePanelClientID, '**Some String**');
2
ответ дан 24 November 2019 в 09:45
поделиться

Во-первых, не используйте панели обновления. Это вторая самая злая вещь, которую Microsoft когда-либо создавала для веб-разработчиков.

Во-вторых, если вы должны использовать панели обновления, попробуйте установить для свойства UpdateMode значение Conditional. Затем добавьте триггер к элементу управления Asp: Hidden, который вы добавляете на страницу. Назначьте событие изменения в качестве триггера. В событии перетаскивания измените значение скрытого элемента управления.

Это не проверено, но теория кажется здравой ... Если это не сработает, вы можете попробовать то же самое с кнопкой asp:, просто установите отображение : none и используйте событие щелчка вместо события изменения.

1
ответ дан 24 November 2019 в 09:45
поделиться

You can't call _doPostBack() because it forces submition of the form. Why don't you disable the PostBack on the UpdatePanel?

1
ответ дан 24 November 2019 в 09:45
поделиться

Per Phairoh: используйте это в странице / компоненте на всякий случай, если имя панели изменится

<script type="text/javascript">
     <!--
     //must be global to be called by ExternalInterface
         function JSFunction() {
             __doPostBack('<%= myUpdatePanel.ClientID  %>', '');
         }
     -->
     </script>
14
ответ дан 24 November 2019 в 09:45
поделиться
Другие вопросы по тегам:

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