Jquery Mobile: получение отмененной обратной передачи, которая вызывает ошибку загрузки страницы - PullRequest
3 голосов
/ 23 сентября 2011

Итак, я пытался заставить эту страницу работать в течение пары дней, когда я нажал кнопку отправки, она сработала бы, но если вы попытаетесь нажать Enter, она просто сделает обратную передачу на ту же страницу.Вчера я думал, что наконец-то получил его, чтобы он работал на Chrome (он отлично работал на Firefox, но не работает на Chrome / Safari, и это приложение для iphone).Но, несмотря на то, что я наконец-то понял, что он будет менять страницы, теперь он отображает ошибку.Я сузил причину до постбэка, который вызывается прямо перед отправкой нужного постбэка, который затем отменяется.Я предполагаю, что отмененная обратная передача пуста, потому что проблема, с которой я столкнулся, заключалась в пустой обратной передаче.

Я 'исправил' проблему, добавив

javascript:if (event.keyCode == 13) __doPostBack('" & btnSearch.UniqueID & "','') 

в onKeyPress для txtSearch,Конечный html для asp: LinkButton и asp: TextBox (который заключен в asp: Panel внутри содержимого asp: для главной страницы, которая находится внутри формы, может иметь или не иметь отношение)

<input name="ctl00$contentMain$txtSearch" id="contentMain_txtSearch" type="text" data-type="search" onkeypress="javascript:if (event.keyCode == 13) __doPostBack('ctl00$contentMain$btnSearchByIDName','')" class="...">

<a id="contentMain_btnSearch" class="..." data-role="button" onclientclick="return false;" href="javascript:__doPostBack('ctl00$contentMain$btnSearch','')" data-theme="c"><span class="..."><span class="...">Search</span></span></a>

В коде есть событие нажатия кнопки.

Это заголовок сообщения, ответ и все остальное пусто.

Accept:text/html, */*; q=0.01
Content-Type:application/x-www-form-urlencoded
Origin:Local.Website
Referer:Local.Website/EmployeePhoneList/PhoneList.aspx
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1
X-Requested-With:XMLHttpRequest

У всех естьидеи как выяснить почему он делает два постбэка?Или как я мог определить, что вызывает это?Спасибо за любую помощь.

Обновление: если посмотреть дальше, btnSearch является источником как неправильных, так и правильных обратных передач.Кроме того, вещи, которые НЕ работали, AutoPostBack = "false", CauseValidation = "false", ViewStateMode = "Disabled" и UseSubmitBehavior = "false".

Ответы [ 2 ]

2 голосов
/ 23 сентября 2011

Вы пытались отключить AJAX-навигацию в jQuery Mobile? Вот как я это сделал в проекте MVC, должно быть похоже на WebForms:

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")"></script>
<script type="text/javascript">
   $(document).bind("mobileinit", function() {
       $.mobile.ajaxEnabled = false;
   });
</script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.mobile-1.0b2.min.js")"></script>
0 голосов
/ 21 октября 2011

Исправляя, казалось бы, не связанную проблему на другой странице, мы случайно ее исправили. Оказывается, даже с ajaxEnabled = false, иногда вам нужно поместить data-ajax = "false" в виде мастер-страницы, чтобы код asp.net работал корректно с JQuery mobile. Либо это, либо rc1 устранили проблему, я точно не знаю, и на данный момент мне уже все равно.

...