Visual Studio 模板 —— 自定义WebForm模板
前言
在之前的文章中我曾提过推荐用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. 马上下载试一下
参考文献
结束
面对巨人,害怕和畏惧都将失败,试着去了解和挑战才会有成功的机会。