2011-03-09 16 views
1

我有一個簡單的ASP.NET Web應用程序用於數據收集(帶有兩個文本字段和一個Telerik編輯器的webform,用於提交服務器端OnClick事件偵聽器的按鈕) 。 事件偵聽器將數據保存在數據庫上,然後重定向到另一頁。 在開發Web服務器中,應用程序正常工作。 在IIS7下發布時,事件偵聽器不會觸發。我發現,使工作的唯一方法是指定在表單標籤的行動:除非指定表單動作,否則不會調用按鈕點擊處理程序

<form id="form1" action="default.aspx" runat="server"> 

這是第一次遇到這種情況對我來說,我從來沒有與其他應用程序(甚至更復雜的前碰到這個問題!)。

以前有沒有人見過這種行爲?除了我的任何(更聰明)的解決方案嗎?

謝謝。

+0

您是否有Firebug或其他類型的開發控制檯,您可以看到生產環境中是否存在任何javascript錯誤?這可能會阻止表單被髮布。 –

+0

嗨凱爾!是的,我檢查了JavaScript錯誤,但應用程序的所有js部分(基本上是一些jquery)運行沒有例外。 –

+0

可以發佈@page標題? – shaans

回答

0

如果您檢查生成HTML的源代碼,它將包含表單標籤的操作,而不管您是否指定。所以當你不明確地放置action =「default.aspx」的時候,你可以檢查結果html中的動作是什麼。

我已經看到類似的行爲,當我已經實現了一些URL重寫,然後生成的表單操作變得錯了。我必須在代碼中設置的動作背後

Page.Form.Action = ResolveUrl(string.Format("~/{0}", Path.GetFileName(Request.CurrentExecutionFilePath))); 

你也可以檢查相同的行爲是有兩個集成管道,和IIS7的經典模式。

相關問題