2011-09-23 74 views
3

所以,我一直試圖讓這個頁面工作幾天,當我點擊發送按鈕它會工作,但如果你試圖點擊輸入它只會回發到同一頁面。昨天我想我終於搞定了,所以它可以在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」。

回答

0

雖然我們無意解決了這個問題的另一頁上固定一個看似無關的問題。甚至在ajaxEnabled = false的情況下,您有時需要以masterpage的形式放置data-ajax =「false」,以使asp.net代碼能夠與JQuery移動版一起正常工作。無論是那個還是rc1都解決了這個問題,我不確定,現在我不再在意了。

2

您是否嘗試禁用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