我們已經要求客戶將在其自己的域上運行的網站移至其他應用的子文件夾。使用母版頁更改ASP.NET窗體上的網址
我已經使用ISAPI重寫代理實現了這一點。
但是,有一種形式在網站中發佈回帖。生成的來自ASP.NET的操作url是「/sign-up.aspx?」。這將回發發送到網站的根目錄。
我想將其更改爲「sign-up.aspx?」(沒有領先的斜線)。如果我沒有使用母版頁,這可以很好,因爲我可以獲取對錶單的引用並更改它的操作(這是.NET 3.5 SP1)。我試圖在我的控件中使用下面的代碼來獲取表單的引用,但它似乎沒有做任何事情。它找到表單,但操作未設置爲該值。
HtmlForm form = ControlLocator.FindControl<HtmlForm>(Page.Master.Master, "form1");
form.Action = "sign-up.aspx?";
這是在Page_Load中和ControlLocator.FindControl是本http://www.west-wind.com/Weblog/posts/5127.aspx
任何想法端口?
乾杯, 羅布
我確實在page_load之前嘗試了預渲染,沒有快樂。沒有空引用,所以表單肯定被找到。無論如何感謝您的答案! :)也許我需要在生命週期的後期做這件事? – 2010-01-13 22:10:49
只檢查 - 預渲染應該發生在Page_Load之後 - 它是頁面被轉儲前的最後階段之一。你的意思是Pre_Init嗎? 甚至可以在渲染開始時嘗試它;儘管Asp.Net可能完全忽略了你給它的任何價值。在嘗試設置它之前,Form.Action的價值是什麼? – 2010-01-13 22:39:02