我在一個站點下有許多虛擬應用程序,所有這些應用程序都有相同的問題。無論何時您處於應用程序的根目錄(〜/)回發不會觸發,頁面只會刷新。Postback在應用程序根目錄下無法正常工作[ASP.NET 4.0]
這裏有一些樣品(均爲自己的虛擬應用程序):
點擊 「登錄」 鏈接並不重定向到的Login.aspx頁面
- http://designbyssi.com/designbyssi.com/projects/air-savings/02/
- http://www.designbyssi.com/designbyssi.com/projects/life-furniture/06/
輸入用戶名/密碼,然後點擊「登錄」/「開始」不記錄用戶
出於某種原因,如果添加「的Default.aspx」的任何頁面的末端上方回發工作正常(如: http://designbyssi.com/designbyssi.com/projects/air-savings/02/Default.aspx)。我一直在谷歌搜索了一段時間,我發現了一些文章,雖然他們都沒有幫助。 這裏是我設法找到相應的文章:
- Why won't postbacks work on my domain root?
- http://forums.asp.net/t/1735380.aspx/1
- http://forums.asp.net/t/1482960.aspx
我沒有使用任何重寫URL類型的,他們都是Web表單應用程序,我在Godaddy共享主機帳戶。
關於可能發生什麼或需要做什麼來解決它的任何想法?
謝謝你的快速回復,這似乎是這個問題。我在我的基頁Render事件中添加了以下代碼: 'if(string.IsNullOrEmpty(this.Form.Action)|| this.Form.Action ==「/」) this.Form.Action =「 /default.aspx「;'。當然,只要我嘗試測試這個,我的Godaddy網站就會崩潰。有你的godaddy。無論如何,我會盡快進行測試,並在確認後立即將其標記爲答案。再次感謝。 – pharophy
Hi Romany, 所以,我真的不想更改爲經典模式,因爲我無法映射HTTPModules以這種方式運行它(據我所知)。所以我查看了我的基本頁面渲染事件中的代碼,並且像這樣修改了它,並且它似乎完成了這個技巧: 'if(HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath.ToLower()==「〜/ default .aspx「|| HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath.ToLower()==」〜/「) this.Form.Action =」default.aspx「;' 感謝您的幫助。 – pharophy