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

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. NPOI读取Excel 数据 转。。。

      public DataTable am_Decode() { DataTable table = new DataTable(); string[] strAscDataList = Direct ...

  2. Inversion_树状数组***

    Problem Description You have a sequence {a1,a2,...,an} and you can delete a contiguous subsequence o ...

  3. C# 字符编码类Encoding

    在网络通信中,很多情况下都是将字符信息转成字节序列进行传输.将字符序列转为字节序列的过程称为编码.当这些字节传送到接收方,接收方需要逆向将字节序列转为字符序列.这个过程就是解码. 常见编码有ASCII ...

  4. Linux学习之路—Linux文件与目录管理

    该内容来自鸟哥私房菜 1.目录的相关操作 1.1 特殊的目录 .  代表此层目录 .. 代表上一层目录 -  代表前一个工作目录 ~ 代表"目前用户身份"所在的主文件夹 ~acco ...

  5. Sep14学习笔记_pipe() & fork()

    第一次用博客园,昨晚编辑器一直没打开,今天打开了,把昨天的内容先补一下 关于parent和child之间的数据传输: If the parent wants to receive data from ...

  6. 各数据库查询前N条记录的SQL语句

    sql在不同数据库查询前几条数据 1. ORACLE SELECT * FROM TABLE_NAME WHERE ROWNUM <= N;  HQL: from table_name t or ...

  7. ArrayList集合 、特殊集合

    一.ArrayList集合 集合内可以放不同类型的元素 另:object类型为所有数据类型的基类 添加元素:.add(); 清空集合:al.clear(); 克隆集合:.clone(); 判断是否包含 ...

  8. HttpClientUtil简介

    使用HttpClient发送请求.接收响应. http协议可以说是现在Internet上面最重要,使用最多的协议之一了,越来越多的java应用需要使用http协议来访问网络资源,HttpClient ...

  9. 关于vue.js中class与style绑定的学习

    练习代码: html: <!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  10. 解决java使用https协议请求出现证书不信任问题(PKIX path building failed)

    解决https请求时出现pkix path building fail错误 方法 将submail.cer 安全证书导入到java中的cacerts证书库 (sumail是我从https://api. ...