Вы можете сохранить последнее испущенное значение отдельно от наблюдаемого. Затем прочитайте его, когда это необходимо.
let lastValue: number;
const subscription = new Service().start();
subscription
.subscribe((data) => {
lastValue = data;
}
);
Это - очень определенная проблема с этим кодом, я сомневаюсь, что это будет полезно для кого-то еще, но здесь это идет:
Проверка была добавлена к комбинации onchange
с, если, если условие соблюдали, явный вызов к функции обратной передачи был выполнен. Если комбинация была установлена на AutoPostback
, asp.net добавил вызов обратной передачи снова, произведя эти две обратных передачи...
Сгенерированный HTML был похож на это:
[select onchange="javascript: if (CustomFunction()){__doPostBack('name','')}; __doPostBack('name','')"]
Первая вещь, которую я искал бы, состоит в том, что у Вас нет набора свойств AutoPostBack второго ComboBox к истинному. Если Вы изменяете значение во второй комбинации с тем верным набором свойств, я полагаю, что это генерирует обратную передачу на том управлении.
У Вас есть какой-либо код, который Вы могли совместно использовать? Дважды спины сообщения заполонили меня так в классическом ASP назад в день, что это было тем, что наконец предложило мне переключаться на.NET раз и навсегда. Каждый раз, когда у меня есть проблемы как они для.NET, я перехожу к каждому УПРАВЛЕНИЮ и каждому элементу СТРАНИЦЫ как загрузка, init, предварительный рендеринг, щелчок, SelectedIndexChanged, и т.п. и помещаю точку останова.
Даже если у меня не будет кода там, то я вставлю что-то как:
Dim i As Integer
i = 0
Я обычно могу точно определить некоторое действие, которое я не ожидал, и зафиксируйте по мере необходимости. Я предложил бы, чтобы Вы сделали это здесь.
Удачи.
Проверьте Запрос. Форма [" __ EVENTTARGET"] для нахождения инициирования управления обратной передачей - который может помочь Вам сузить его.
При рассмотрении стеков вызовов и некоторого Reflectoring (в ASP.NET 2 - у меня нет 1,1 удобных) - это похоже на SessionStateModule. PollLockedSessionCallback является частью стандартных программ запуска HttpApplication. Может быть возможно, что Ваше приложение перерабатывается - я вполне уверен, событие записано в Журнал событий для этого.
Мое только другое предложение было бы Скрипачом или чем-то на клиенте для получения Трафика HTTP.
Это очень старый пост, но люди все еще ищу в этом решение точно такое же, как и на прошлой неделе.
Как сказал Гренгби, двойные события являются основными причинами, но удаление одного из них не всегда возможно. По крайней мере, в моем случае, и мне пришлось решить это в стороннем приложении.
Я добавил следующий сценарий и изменил форму ASP на главной странице:
<script>var Q = 0;</script>
<form id="Form1" runat="server" onsubmit="Q++; if(Q==1){return true;} else { return false;}">
Кажется, это работает, и пришлите ваши комментарии.
Арун
http://www.velocityreviews.com/forums/t117900-asp-net-multiple-postback-issue.html