請原諒我,如果這已被問到某處,但我無法弄清楚完成此任務的最佳方法。我希望能夠創建一個渲染系統,使我能夠渲染出數千個不同的.aspx頁面中的內容,而無需創建數千個.aspx頁面。這就是說,我仍然希望能夠渲染出適當的.aspx頁面,如果它存在於我的代碼中的話。來自C#數據庫的動態頁面
例如,當向站點發出請求時,我想檢查該URL是否在數據庫中,如果是,那麼我想適當地呈現內容。但是,如果沒有,那麼我希望它繼續呈現真實的.aspx頁面。
在嘗試使用HTTPModule時,我無法獲取數據庫中存在的頁面以寫出適當的內容。這是我的代碼。
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication;
Uri url = application.Context.Request.Url;
//Checks to see if the page exists in the database
PageInformation page = PageMethods.GetPageFromUrl(url.AbsolutePath);
if (page != null)
{
string renderedPage = Renderer.RenderPage(page);
application.Context.Response.Write(renderedPage);
}
}
然而,試圖用一個HttpHandler的時候,我不能因爲*的.aspx動詞正在被處理程序處理的實際.aspx頁正確地呈現。
如果有人對如何徹底重新設計這個有更好的想法,我也完全開放。謝謝。