Jquery Mobile:取消Postback导致页面加载错误

问题描述:

所以,我一直试图让这个页面工作几天,当我点击发送按钮它会工作,但如果你试图点击输入它只会回发到同一页面。昨天我想我终于搞定了,所以它可以在Chrome上运行(它在firefox上工作得很好,但打破了Chrome/Safari,它是iPhone的应用程序)。但是,即使我终于知道它会改变页面,但它现在显示一个错误。我将原因缩小到正在被发送的回复,然后我想要发送的回发被取消。我认为取消的回传是空白的,因为我遇到的问题是页面会做空白回传。Jquery Mobile:取消Postback导致页面加载错误

我通过添加

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

到onkeypress事件为txtSearch '固定' 的问题。用于asp:LinkBut​​ton和asp:TextBox的结尾html(包含在asp:Panel中,位于表单内的主页的内容可能相关,也可能不相关)可能是

<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 =“已禁用”和UseSubmitBehavior =“false”。

虽然我们无意解决了这个问题的另一页上固定一个看似无关的问题。甚至在ajaxEnabled = false的情况下,您有时需要以masterpage的形式放置data-ajax =“false”,以使asp.net代码能够与JQuery移动版一起正常工作。无论是那个还是rc1都解决了这个问题,我不确定,现在我不再在意了。

您是否尝试禁用jQuery Mobile的Ajax导航?以下是我在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

是的,我们在webapp(两个站点名称,intranet和extranet)的主页上都以这种方式禁用了ajax。虽然昨天我不得不改变它到新的方式,因为我意识到我们已经在Alpha中设置了它,所以它是$ .mobile.AjaxFormsEnabled = False;尽管如此,这并没有解决问题。 – Twomz