2009-09-15 80 views
0

我正在使用webforms與UrlRewriting.Net重寫頁面,例如Urlrewriting.net頁面不會導致回發

http://www.example.com/stuff.aspx?c=30
成爲
http://www.example.com/stuff/30-this-stuff.aspx

只要正確的內容被加載,它就起作用;但是,沒有任何回發正在工作(大多數頁面上的按鈕)。如果我在Page_Load上設置了一個斷點,我發現IsPostBack總是爲false。有想法該怎麼解決這個嗎?現在我只是在Visual Studio中2008

編輯: 因爲我已經切換到UrlRewriter.Net,這幾個調整後的工作(見Scott Gu's article)。除此之外,我已將我的原始問題發佈到開發人員論壇:如果我得到答案,我會在此處發佈(除非首先在此處發佈)。

回答

0

您需要確保它正在執行一項名爲ClientRebaseing的功能,以確保.NET能夠看到新的URL與舊的原始URL。看到這個帖子的詳細資料:

http://www.ifinity.com.au/Blog/Technical_Blog/EntryId/46/Why-does-Url-Rewriting-break-all-my-image-links

此外,我不知道這是在UrlRewriting.NET支持,但基於Apache的關閉的mod_rewrite我自己的URL重寫不支持基礎重建客戶端路徑。

http://urlrewriter.codeplex.com

+0

一個有趣的閱讀,但不幸的是不是問題的根源。 – Nick 2009-09-17 16:21:56

0

我可能是遙遠這裏,但我的工作是用UrlRewriter.Net一個項目,從我記得,我想你所遇到的問題不能重寫表單元素的action屬性。查看您的來源並查看<form action"..." ... />中的網址與地址欄中的網址是否相同。我不知道我們是如何做到這一點的,因爲它在另一項工作中,並且在那裏的技術負責人編寫了代碼來做到這一點,但我想你會改變表單標記的呈現。

+1

不幸的是情況並非如此,但對於那些特別有問題的人來說,這裏有一個很好的解決方案:http://weblogs.asp.net/scottgu/archive/2007/02/26/tip -trick-URL重寫,與-ASP-net.aspx – Nick 2009-09-16 15:53:05