我的ASP.NET頁面中的UpdatePanel中有一個簡單的重複器。這個轉發器在每個RepeaterItem中都有一個按鈕,當點擊它時,會根據該特定RepeaterItem中包含的信息將您重定向到另一個頁面。直到那個時候,沒有什麼不尋常的。從更新面板重定向時的兩種不同行爲
在我開發的計算機,當我點擊這些按鈕我從Ajax調用,看起來像
"1|#||N|M|pageRedirect||/somepage.aspx?q=bla|"
,一切工作像它應該響應的一個。我猜腳本管理器處理該指令並通過JS將瀏覽器發送到somepage.aspx?q = bla。
當我將其部署到我的實際網站(專用服務器,我真的試圖在兩個環境中保持相同的配置,包括在我的開發計算機中使用IIS)時,此行爲會發生變化。當我點擊一個這些按鈕時,我得到了來自服務器的302 Found響應,並且HTTP標頭包括
Location: /somepage.aspx?q=bla
指令。最終發生的事情是瀏覽器(FF,chome,IE)處理這兩個頁面(意味着ajax調用,並且他們通過我嘗試重定向的頁面執行GET),但只渲染原始頁面,因此不需要重定向地點。第二頁被加載,但在「背景」中並未顯示。
我想找到背後這兩種不同行爲的原因。從我可以通過使用Google搜索找到的是,這可能是一個配置錯誤(例如,請參見this question),但我的配置在兩臺服務器中都是相同的。 請記住,我不能亂搞太多的實際網站,所以現在我試圖讓我的開發服務器像生產服務器一樣行事,所以我知道這種差異來自哪裏,然後採取適當的行動。
任何幫助將不勝感激。
是的,瀏覽器似乎將該信息發送到服務器 ('X-Requested-With:XMLHttpRequest'和'X-MicrosoftAjax:Delta = true') –
@EdFox您需要檢查信息是否到達服務器方面,例如,防火牆可能會將其去掉 –
我接受了您的回覆,但我最終註冊了點擊作爲觸發器以強制進行完整回發。我認爲這是一個在asp.net或telerik中的錯誤,因爲我檢查了服務器並且頭文件正在下降。 –