前言
在之前的文章中我曾提過推薦用PageBase來做統一做許可權等操作,然後每個頁面來繼承這個PageBase,可能有些朋友會嫌麻煩,每次建立一個頁面都要手動的繼承一下,那麼本文將為你解決這一痛苦。
環境
Microsoft Visual Studio 2008
本文
Visual Studio 具有強大的模板功能,建立工程、建立項目、建立網站等這些都是獨立的模板,我們可以修改他的模板,也可以自訂。實際應用中除了要統一的許可權控制,往往還會要求添加著作權資訊,本文僅簡單的敘述下自訂WebForm模板,注意,按照參考文獻二是沒法匯出WebForm模板的!
1. 找到Visual Studio 內建的WebForm模板拷貝一份放到任意目錄
Microsoft Visual Studio 2008:
Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\Web\CSharp\2052\WebForm.zip
Microsoft Visual Studio 2005:
Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\Web\CSharp\2052\WebForm.zip
2. 解壓WebForm.zip,直接修改CodeBeside.cs,加上著作權資訊和PageBase
//=================================================
// *
// 作 者:農民伯伯
// 郵 箱:over140@gmail.com
// 博 客:http://over140.cnblogs.com/
// 時 間:$time$
// 描 述:
// *
//=================================================
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class $codebesideclassname$ : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
$time$按文檔上說會產生DD/MM/YYYY 00:00:00格式的日期,但是我產生的卻是 YYYY-MM-DD 00:00:00的日期,我Visual Studio的語言是簡體中文版的,難道和這個有關?$codebesideclassname$也就是我上面所說沒法通過建立WebForm來製作模板的原因所在了,從預設的模板參數中也找不到這個,這個屬於特定的參數了,需要模板引擎來解析,在WebForm.vstemplate中我們能看到WizardExtension這個節點,下面指定瞭解析模板的引擎,注意,如果刪除其他多餘的頁面模板也會解析失敗,直接給你顯示$codebesideclassname$為類名。
如果要修改模板顯示的名稱等其他資訊就需要修改WebForm.vstemplate了,這裡修改一下TemplateData下的Name就可以了,其他參數說明用Visual Studio 開啟的話有智能提示中文說明。
3. 壓縮修改後的檔案,壓縮成ZIP包
注意目錄結構不要改變,雙擊壓縮檔這些檔案應該顯示在根目錄下,然後把檔案拷貝到:
C:\Documents and Settings\目前使用者\My Documents\Visual Studio 2008\Templates\ItemTemplates
C:\Documents and Settings\目前使用者\My Documents\Visual Studio 2005\Templates\ItemTemplates
4. 開啟Visual Studio ,如果已經開啟的話在添加新項中看到類似如下
點擊添加就能看到你想要的結果了,至於什麼效果自己試試看吧:)
5. 馬上下載試一下
農民伯伯 WebForm
參考文獻
1. MSDN:Visual Studio 模板
2. Visual Studio自訂模板(一)
結束
面對巨人,害怕和畏懼都將失敗,試著去瞭解和挑戰才會有成功的機會。