2010-10-14 85 views
1

我已經寫了一個類庫函數來解析一個字符串到控件。它採用當前頁面並使用page.ParseControl將字符串解析爲控件。在ASP.NET中是否有替代Page.ParseControl?

System.Web.UI.Page page = (System.Web.UI.Page) HttpContext.Current.CurrentHandler; 
System.Web.UI.Control ctrl = page.ParseControl(str); 

它的工作原理在大多數情況下細除非該函數的調用是一個Ajax Web服務在這種情況下,我收到以下錯誤:無法投類型的對象HandlerWrapperWithSession爲鍵入「的System.Web .UI.Page」。我顯然得到這個錯誤,因爲CurrentHandler不是類型的頁面,但我需要一個Page對象來調用ParseControl。

任何想法如何我可以解決這個問題?

+0

你能不能給你想要做更詳細一點? – CodingGorilla 2010-10-14 15:00:02

+0

@編碼大猩猩 我正在使用parseControl方法來查看字符串中的標記是否有效。我也在檢查我過濾掉的某些標籤。 – Andre 2010-10-14 15:09:26

+0

簡單地做就足夠了:'Page page = HttpContext.Current.CurrentHandler作爲Page'。當它不是一個頁面時,這會導致'page == null'。 – CodingGorilla 2010-10-14 15:21:34

回答

0

你可以這樣做:

Page p = new Page(); 
Control ctrl = p.ParseControl(str);