我想在asp.net中實現一個非常簡單的html模板系統。asp.net HTML模板
基本上給了一個帶有一些佔位符(如[menu]和[content])的.html文件,它會抓取合適的數據並將其與html合併並顯示頁面。我想能夠使用像控件和回發的asp.net東西,但這不是必需的。
實現它有多困難,你會怎麼做呢? 也是這樣的一個解決方案,這對於一個相當低流量的cms網站實用嗎?
我想在asp.net中實現一個非常簡單的html模板系統。asp.net HTML模板
基本上給了一個帶有一些佔位符(如[menu]和[content])的.html文件,它會抓取合適的數據並將其與html合併並顯示頁面。我想能夠使用像控件和回發的asp.net東西,但這不是必需的。
實現它有多困難,你會怎麼做呢? 也是這樣的一個解決方案,這對於一個相當低流量的cms網站實用嗎?
在ASP.NET中編寫自己的模板系統基本上是reinventing the wheel。我不會推薦它,除非你打算更多地瞭解車輪(在這種情況下,我會說去做)。
更好的選擇是使用Microsoft作爲框架的一部分提供的那個,Master Pages。微軟已經想出了實現模板系統的硬件細節,甚至可以讓你在模板中嵌套模板。如果您需要其他外觀,您可以動態交換&中的模板。
對於CMS,我會說你最好使用母版頁而不是創建自己的頁面。
是的,我通常會這麼想,只是想提供一種比主頁更爲設計師所熟悉的格式。 – 2009-08-03 00:54:24
您可以編寫一個HTTP模塊將所有傳入請求重定向到單個ASPX頁面。
此頁面可以檢查原始URL以確定從數據庫中檢索哪些數據並將其顯示給用戶。
由於頁面是一個標準的ASPX頁面,你仍然可以把後背上,服務器控件等優勢
如果你需要有不同的佈局和功能的網頁,你可以寫一個系列ASPX頁面(有效地將每個頁面視爲不同的「模板」)。然後,在您的HTTP模塊中,您可以查看數據庫中的頁面以確定您應該重定向到哪個「模板」ASPX頁面。
還有更多關於編寫HTTP模塊來重定向URL的信息here。確保你讀到的部分告訴你如何覆蓋默認的表單動作,以確保你的後衛仍然工作!
希望這會有所幫助 - 祝你好運!
如果有人有興趣,我想我會看看一個類似於在blogengine.net中使用的系統 – 2009-08-03 02:04:07