codesmith,nettiers与sql server联合使用的心得

CodeSmith是强大的代码生成模版的创建工具,而Nettiers是基于微软企业库的代码生成模版,nettiers2.0能生成前台,中间逻辑层,实体层,后台存储过程,生成后的代码可以用vs2005直接打开并运行,包括增删改查排序分页等.
但美中不足的是生成的显示页面的HeaderText和编辑页面的标签时英文的,通过调整以下几个地方,你就可以将他们转换成中文的.
(1)在Sql Server你使用的数据库的表中将每一列的Description输入,必须输入每个列的Description否则显示时为空,也可以完善代码判断如果没有Description按列名处理。
(2)修改模版:EntityFields.ascx.cst

// string propertyName = GetPropertyName(column);
        string  propertyName = column.Description;


将注释行改为下面行
修改模版:Entity.aspx.cst

// fkPropertyName = GetPropertyName(fKeyColumn);
  fkPropertyName  =  fKeyColumn.Description;

 

if  (column.NativeType  !=   " text "   &&  column.NativeType  !=   " ntext "
    
{
        
//return string.Format("{1}<asp:BoundField DataField="{0}" HeaderText="{0}" SortExpression="{2}" {3} />", propertyName, Tab(tabs), column.Name, (column.IsPrimaryKeyMember)?"ReadOnly":"");                                
        return string.Format("{1}<asp:BoundField DataField="{0}" HeaderText="{4}" SortExpression="{2}" {3} />", propertyName, Tab(tabs), column.Name, (column.IsPrimaryKeyMember)?"ReadOnly":"",column.Description);                        
    }

    
else  
    
{
        
//return string.Format("{1}<asp:BoundField DataField="{0}" HeaderText="{0}" SortExpression="" {3} />", propertyName, Tab(tabs), column.Name, (column.IsPrimaryKeyMember)?"ReadOnly":"");
        return string.Format("{1}<asp:BoundField DataField="{0}" HeaderText="{4}" SortExpression="" {3} />", propertyName, Tab(tabs), column.Name, (column.IsPrimaryKeyMember)?"ReadOnly":"",column.Description);
    }

 

EntityFields.ascx.cst与Entity.ascx的CodeTemplate修改为如下:

<% @ CodeTemplate Src = " ......TemplateLibCommonSqlCode.cs "  Inherits = " MoM.Templates.CommonSqlCode "  Language = " C# "  TargetLanguage = " C# "  Description = " Generates GridView using EntityDataSource Control. "  Debug = " True "  ResponseEncoding = " UTF-8 " %>


注意与原来的不同,增加了ResponseEncoding="UTF-8",因为CodeSmith默认的编码格式为ASCII.

(3)编译,运行,OK,看看生成的代码是不是改变了,再运行以下看看。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值