.NET 網頁模板的實現

來源:互聯網
上載者:User
      現在好多網站都實現了在後台改模板的功能,今天我講一下在開發中我用到的幾種實現方法,和我對這幾種實現的一些親身體會。

      一、將網頁模板存放到資料庫中。通常網站都是利用這種方法來實現的。這種方法是將HTML代碼儲存到資料庫中,當使用者訪問頁面的時候,程式從資料庫中讀取代碼,然後直接輸出。為了達到動態網頁的效果,我們可以在HTML中加入自訂的“函數”,在程式的後台利用Regex尋找出你定義的“函數”(也就是特定的一個字串)和函數參數,然後根據這個“函數”的名字調用相應的.NET函數,用返回結果(執行的函數要返回HTML代碼)替換模板中的“函數”,然後傳送給終端使用者。當然,為了避免頻繁的調用資料庫和提升網站的訪問速度,我們利用這種方法來實現的模板須要將其存放到緩衝當中。這種方法在實際應用的時候要寫好多“函數”,比較麻煩。

      二、不同的前台頁面(.aspx)使用相同的背景程式(.cs檔案)。在.NET2005中,當程式被發布以後,程式會自動將.cs檔案轉換成相應的程式集,我們添加模板的時候,只要將.aspx檔案中必要的東西放入(複製)到一個建立的.aspx檔案中,然後隨意更改這個檔案,儲存後可以直接存取,這樣程式就相當於多了一個頁面,從而實現了自訂模板的功能。我們寫程式的時候,使用者在添加模板的時候只要添加一個.aspx檔案就可以了,需要注意的是使用者必須把原程式(原始.aspx檔案)中引用的程式集複製到新模板中,最好是整個檔案的內容複寫,不同類別的模板有不同的程式集,引用出錯就會發生錯誤。利用這種辦法實現的模板,在模板中的asp.net控制項仍然起作用,但是當管理員切換模板的時候,相應網頁的實際URL會跟著發生改變。為瞭解決這個問題,我們可以改一下URLRewriter,讓URL重寫規則也跟著變,從而使URL保持不變。

      三、通過XML+XSLT實現。我們都知道XML資料可以通過XSLT轉換成網頁的形式,那麼我們在程式中的資料都存放/轉換成XML,然後給不同的頁面定義不同的XSL,來轉換和顯示網頁。程式切換模板的時候,只要為頁面切換一個XSL就可以了。缺點就是管理員懂得XSLT的很少,改起來可能不大容易。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.