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

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. js 小技巧

    如果想让js每次加载时,都要执行, 那么在 <script type="text/javascript" >中加一个属性reload="1", &l ...

  2. 7、provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错

    在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败.(provider: SQL 网络接口, error ...

  3. 收拾那掉了一地的session

    多个页面有如下多个session,本来可能是如下面这样的 Session["UId"] = 10; Session["UName"] = "test& ...

  4. Tomcat启动超过45S

    Timeout waiting for Tomcat v5.5&nbspServer @localhost  to start. Server did not start after 45s ...

  5. .net 如何引用迅雷组件

    本文记录两个部分,本人自己引用迅雷组件的经历和引用迅雷组件相关原理 the first: 添加引用 -> COM -> ThunderAgent 1.0 Type Library(前提是已 ...

  6. 腾讯优测优分享 | Android性能测试工具化实现

    腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单! 1.Android性能测试介绍 提到Android性能测试,我们总免不了俗地要首先介绍下Android ...

  7. ABAP程序运行锁定

    转自http://www.cnblogs.com/aBaoRong/archive/2012/06/15/2550458.html ABAP 程序运行锁 1. create a Table ZRUNN ...

  8. MyEclipse JAX-WS Web Service

    在Myeclipse8.5下开发Web service程序,目前系统支持的开发框架有3个,JAX-WS,REST(JAX-RS),XFire.其中系统建议不要使用XFire 的框架,可能是要被淘汰了( ...

  9. 矩阵分解ALS方法

    目标函数 优化目标函数 利用坐标下降法,依次更新u和v的值.u和v的先后顺序无所谓,只要保证两者是交替更新的就好.这种方法又称为alternating least squares(ALS). 增加偏置 ...

  10. [2]项目创建-使用C#.NET开发基于本地数据缓存的PC客户端

    1.新建项目->已安装->模板->Visual c#->Windows桌面->Windows窗体应用程序,截图如下: 图中1:输入项目名称-“MoneyNotes”,图中 ...