也談UpdatePanel與UrlRewrite一起work時出現(xiàn)Form Action屬性的問題首先感謝老趙寫了一篇文章,http://www.cnblogs.com/JeffreyZhao/archive/2006/12/27/604373.aspx#post
其實出現(xiàn)這個問題,根本不是MS Ajax的失誤,完全是我們沒有用好URLRewrite這個東西的原因。 老趙的解決方法是重寫了一個Form類,把原來的Form的Action給清空了。 能否正常工作我不知道,但是我認為“清空”,“利用默認屬性”這樣一類的做法是很危險的?!?br> 重寫Form類的,引用也有點麻煩,我覺的重寫一個Page,比較方便。我在www.中的做法如下: using System; using System.IO; using System.Web; using System.Web.UI; namespace okpower.Utility![]() ![]() {![]() /**//// <summary> /// URLRewrite 頁面基類 /// 作者:Kai.Ma http://kaima.cnblogs.com /// </summary> public class URLRewritePage : Page![]() { public URLRewritePage()![]() { }![]() protected override void Render(HtmlTextWriter writer)![]() { writer = new FormFixerHtmlTextWriter(writer.InnerWriter); base.Render(writer); } }![]() internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter![]() { private string _url; internal FormFixerHtmlTextWriter(TextWriter writer) : base(writer)![]() { _url = HttpContext.Current.Request.RawUrl; }![]() public override void WriteAttribute(string name, string value, bool encode)![]() { // 如果當(dāng)前輸出的屬性為form標記的action屬性,則將其值替換為重寫后的虛假URL if (_url != null && string.Compare(name, "action", true) == 0)![]() { value = _url; }![]() base.WriteAttribute(name, value, encode); } }![]() }歡迎交流 |
|
|
來自: thy > 《urlrewrite》