2010-05-13 60 views
3

我想訪問我的ASP.NET System.Web.UI.Page即將呈現的原始HTML代碼。如何在PreRender上修改ASP.NET頁面的原始HTML?

我該怎麼做?有沒有像System.Web.UI.Page.HTML或類似的東西的屬性或方法。

我知道我可以循環訪問頁面的控件列表並訪問所有的文字控件等,但我想知道是否有一個直接的屬性或方法可以返回原始html,我可以修改它在呈現頁面之前。

回答

4

首先,在PreRender上,該頁面還沒有被Render'd,所以不會有HTML。

二,看看HttpResponse.Filter屬性。

+0

是的,頁面沒有呈現,但所有的控件已準備好呈現,您可以在這裏修改任何控件值,它會在呈現的頁面上重新選擇。例如,我可以獲得asp:超鏈接並修改其導航url屬性,它會反映在呈現的頁面上。 哦,我猜,因爲我可以對控件進行更改,這意味着最終的html還沒有準備好。 Gotchaa ...我可以在哪裏獲得最終的html,並在呈現之前對其進行更改? – ace 2010-05-13 20:12:42

+3

正如我所說,看看Filter屬性。 – 2010-05-13 20:45:31

+0

確定它工作。謝謝您的幫助。 – ace 2010-05-15 06:21:53

1

您還可以使用HTTPModules進行更改或僅觀察HTTP管道內的內容。這將允許您執行不一定是主應用程序所關心的事情。除了爲應用程序體系結構提供附加層之外,在產品投入生產後可以方便地進行更改,因爲主應用程序本身不一定需要知道更改(儘管這取決於您註冊的配置模塊in)。

相關問題