重复性的工作交给代码生成器就好,这里分享几套模板,

1.从数据库抓取字段,生成Table元素,这个在web开发中很有用

 <%--
Name:
Author:
Description:
--%>
<%@ Template Language="C#" TargetLanguage="Text" %> <%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema"
Category="Context"
Description="Table that the stored procedures should be based on." %>
<%@ Property Name="SortColsNum" Type="System.Int32" Default="" Optional="True" Category="Int" Description="每行显示栏数" %> <form id="f_edit">
<table cellpadding="" cellspacing="" style="width: 100%; text-align: left; table-layout: fixed; border: 1px solid #BABABA; padding: 8px 4px 4px 4px;margin-bottom:4px ">
<% int i=;%>
<% foreach (ColumnSchema column in this.SourceTable.Columns)
{ %>
<% i++; %>
<% if (i%SortColsNum== || SortColsNum==)
{ %>
<tr>
<% } %>
<td class="myothertdnm"><%=GetName(GetColumnName( column.Name)).ToUpper()%>:</td>
<% if (i%SortColsNum==)
{ %>
<td class="myothertdlast"><input type="text" name="<%=GetName(GetColumnName( column.Name))%>" class="easyui-validatebox" required="true" validtype="length[1,5]" style="width:96%;" /></td>
<% } %>
<% else
{ %>
<td class="myothertdnm"><input type="text" name="<%=GetName(GetColumnName( column.Name))%>" class="easyui-validatebox" required="true" validtype="length[1,5]" style="width:96%;" /></td>
<% } %>
<% if (i%SortColsNum==)
{ %>
</tr>
<% } %>
<% } %> <% if ((i%SortColsNum!= && i%SortColsNum!=)||(SortColsNum<i&&SortColsNum!=))
{ %>
</tr>
<% } %>
</table>
</form> <script runat="template">
public string GetClassName(string name)
{
string returnName=""; if(name.Length >)
{
string[] names = name.Split('_');
foreach(string item in names)
{ returnName+= GetFunctionStr(item);
}
returnName ="Ent"+returnName;
} return returnName;
}
public string GetColumnName(string name)
{
string returnName=""; if(name.Length >)
{
string[] names = name.Split('_');
foreach(string item in names)
{ returnName+= GetFunctionStr(item);
}
}
return returnName;
} public string GetFunctionStr(string name)
{
string nameLower;
if(name.Length >)
{
nameLower = name.ToLower();
return nameLower.Substring(,).ToUpper()+nameLower.Substring();
}
return "";
} public string GetType(SchemaExplorer.ViewColumnSchema field)
{
string nativeType = field.NativeType.ToLower();
string result = "no:"+nativeType; switch(nativeType)
{
case "nvarchar2": result ="string";break;
case "varchar2": result ="string";break;
case "char": result ="string";break;
case "number": result ="decimal?";break;
case "long": result ="double";break;
case "date": result ="System.DateTime?";break;
} switch(field.DataType)
{
case DbType.AnsiString:result= "string" ;break;
case DbType.AnsiStringFixedLength:result= "string" ;break;
case DbType.Boolean:result= "bool" ;break;
case DbType.Date:result= "DateTime?" ;break;
case DbType.Double:result="double?" ;break;
case DbType.Decimal:result="decimal?" ;break;
case DbType.DateTime:result= "DateTime?" ;break;
case DbType.Int32:result= "int?" ;break; } return result;
} public string GetName(string name)
{
return name;
}
</script>

从数据库Table生成html

CodeSmith可以去网上下载,pj版的比较多,涉及版权,我就不放了,

基本上重复性的工作都可以交给它

CodeSmith模板的更多相关文章

  1. CodeSmith模板代码生成实战详解

    前言 公司项目是基于soa面向服务的架构思想开发的,项目分解众多子项目是必然的.然而子项目的架子结构种类也过多的话,就会对后期的开发维护产生一锅粥的感觉.为了尽可能的在结构层避免出现这种混乱的现象,我 ...

  2. 软件代码生成之Codesmith模板.netTiers

              .netTiers模板到2006年就诞生了, 到今天最后一次更新是12/17/2013, 支持.NET 4.5 and Visual Studio 2012 and 2013. n ...

  3. CodeSmith模板生成

    转:http://blog.csdn.net/jason_ldh/article/details/9887073 一.            工具设置 CodeSmith默认是不支持中文的,那么我们必 ...

  4. CSLA框架的codesmith模板改造

    一直有关注CSLA框架,最近闲来无事,折腾了下,在最新的r3054版本基础上修改了一些东西,以备自己用,有兴趣的园友可以下载共同研究 1.添加了默认的授权规则 如果是列表对象则生成列表权限,User的 ...

  5. dapper的增、删、查改的CodeSmith模板

    <%@ Template Language="C#" TargetLanguage="Text" %> <%@ Property Name=& ...

  6. 在Windows7 下调试CodeSmith 注意事项

    编写CodeSmith模板和编写程序一样,也需要进行调试,CodeSmith支持使用CLR’s Just-in-Time debugger调试模板. 要调试模板,首先要在CodeTemplate声明中 ...

  7. 利用CodeSmith生成抽象工厂步骤

    其实CodeSmith挺好的,帮我们主动生成不少代码,并且代码质量不错,下面就来介绍一下利用CodeSmith生成抽象工厂步骤 打开codesmith模板的buildall 注意path的设置,因为后 ...

  8. Dreamweaver中打开CodeSmith文件

    电脑环境:Windows2008+Dreamweaver 8英文版本 问题描述:Dreamweaver中默认打开文档时不支持打开CodeSmith模板文件对应的.cst后缀名文件,截图如下: 解决步骤 ...

  9. 分享一套 CodeSmit 代码生成模板。

    分享一套 CodeSmit 代码生成模板. 住博客园 5 年了,以前也发过一些博文,但都在 一天后 / 几周后 / 几年后 将它删了:因为感觉代码写得不好:不清晰或侵入太大,哪怕只有一句侵入. 可是最 ...

随机推荐

  1. ajax登陆提示

    <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con ...

  2. JavaScript和Java之间的关系

    今天来简单而又详细地说说JavaScript和Java的关系. 开门见山总结性一句话,它们之间的关系 = 雷锋和雷峰塔之间的关系,换句话说:它们之间没什么关系. 但往往有不少初学者甚至中级者认为它们之 ...

  3. ReportViewer中修改rdlc图表中显示的数据

    将rdlc以xml的格式打开,修改里面的数据,实现方式如下: public MemoryStream GenerateRdlc()    { XmlDocument xmlDoc = new XmlD ...

  4. C语言拾遗

    1. 没C++那么恶心的const C语言中的const修饰符用于修饰一个变量是const属性的.被C语言的const修饰的变量具有只读属性,并且不能被修改. const修饰的变量 != 常量,con ...

  5. height与line-height的深入理解及应用

    转载:原文地址:http://www.zhangxinxu.com/wordpress/?p=384 一.前言 前两天在腾讯ISD团队博客上看到一篇翻译的文章"深入理解css 行高" ...

  6. ubuntu随笔

    在命令行里输入 sudo nautilus 之后输入你的用户的密码,会弹出一个目录窗口来,可以复制到这来

  7. python用Tesseract读取图片中的中文,出现乱码

    到http://download.csdn.net/detail/wanghui2008123/7621567下载中文简体包 然后找到tessdata目录,把eng.traineddata替换为chi ...

  8. C#中web页面之间传递数组参数

    一直以来用到的都是在url地址中传递string类型,那么如果是数组类型的该怎么传递呢? ]; arryStr[] = "a"; arryStr[] = "b" ...

  9. Linux下搭建FTP服务器

    实习的公司有一台老服务器转作为FTP服务器,老大把这个任务交给了我.这两天边学边卖的捣腾起来,总算搞成.现在记录下来,加深映像,也以便以后查看复习. 服务器安装的是:Red Hat Enterpris ...

  10. xxxxxxx

    int c; int b; bool h;