2012-05-10 66 views
3

我在一個站點下有許多虛擬應用程序,所有這些應用程序都有相同的問題。無論何時您處於應用程序的根目錄(〜/)回發不會觸發,頁面只會刷新。Postback在應用程序根目錄下無法正常工作[ASP.NET 4.0]

這裏有一些樣品(均爲自己的虛擬應用程序):

點擊 「登錄」 鏈接並不重定向到的Login.aspx頁面

輸入用戶名/密碼,然後點擊「登錄」/「開始」不記錄用戶

出於某種原因,如果添加「的Default.aspx」的任何頁面的末端上方回發工作正常(如: http://designbyssi.com/designbyssi.com/projects/air-savings/02/Default.aspx)。我一直在谷歌搜索了一段時間,我發現了一些文章,雖然他們都沒有幫助。 這裏是我設法找到相應的文章:

我沒有使用任何重寫URL類型的,他們都是Web表單應用程序,我在Godaddy共享主機帳戶。

關於可能發生什麼或需要做什麼來解決它的任何想法?

回答

1

最近我有同樣的問題,其中我的開發環境在集成模式下設置,而生產是在經典模式。在去網站的根目錄時,在開發中回傳不起作用,但在去Default.aspx時可以工作。

我只是簡單地將我的開發環境改爲現在使用經典模式。另外,這個問題並不一定與URL重寫有關。

由於您在共享主機,您可能無法做到這一點,但這些鏈接可能會有所幫助。

Postback doesn't work with aspx page as Default Document

Event Handlers Might Not Be Not Raised in a Default Document in IIS 7 or IIS 7.5 Integrated Mode?

+0

謝謝你的快速回復,這似乎是這個問題。我在我的基頁Render事件中添加了以下代碼: 'if(string.IsNullOrEmpty(this.Form.Action)|| this.Form.Action ==「/」) this.Form.Action =「 /default.aspx「;'。當然,只要我嘗試測試這個,我的Godaddy網站就會崩潰。有你的godaddy。無論如何,我會盡快進行測試,並在確認後立即將其標記爲答案。再次感謝。 – pharophy

+0

Hi Romany, 所以,我真的不想更改爲經典模式,因爲我無法映射HTTPModules以這種方式運行它(據我所知)。所以我查看了我的基本頁面渲染事件中的代碼,並且像這樣修改了它,並且它似乎完成了這個技巧: 'if(HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath.ToLower()==「〜/ default .aspx「|| HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath.ToLower()==」〜/「) this.Form.Action =」default.aspx「;' 感謝您的幫助。 – pharophy

相關問題