码迷,mamicode.com
首页 > 其他好文 > 详细

输入参数和方法

时间:2014-05-10 07:09:56      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   class   code   java   

在【CodeSmith快速入门之一:初次接触CodeSmith】中,我们实现了最简单的模板,但是模板中的内容无法由用户的输入决定。

假定你女朋友要你在新年的时候说10次“I LOVE YOU”,而在情节人那天要你说1000次“I LOVE YOU FOR EVER”,这可怎么办呢?
我们经过分析,其实就是次数和说的内容不确定。

那么我们马上着手开始实现吧。

1、新建C#模板,去掉原始内容并保存取名为“Love.cst”
(操作同【CodeSmith快速入门之一:初次接触CodeSmith】一致)

2、添加模板声明

<%@ CodeTemplate Language="C#ResponseEncoding="UTF-8" Description="爱情表达"%>

 

3、为了可以接收外部传进来的“次数”和“内容”,定义两个输入参数

<%@ CodeTemplate Language="C#ResponseEncoding="UTF-8" Description="爱情表达"%>
<%Property Name="Content" Type="String" Default="" Optional="False" Category="Context" Description="要讲的话" %>
<%Property Name="Count" Type="Int32" Default="10" Optional="true" Category="Context" Description="讲的次数" %>

Property的属性:
--Name:名称
--Type:数据类型
--Category:属性分类名称
bubuko.com,布布扣
--Default:默认值
--Description:描述
--Optional:是否允许为空(true或者false)
注意:两个参数的名称分别为:Content和Count,我们可以像使用变量一样使用

4、为了重用,在模板中定义一个方法

bubuko.com,布布扣
bubuko.com,布布扣
<script runat="template">
    public 
void Say()
    {
        
for(int i=0; i<Count; i++)
        {
            Response.WriteLine(Content);
        }
    }
</script>
bubuko.com,布布扣
bubuko.com,布布扣

<script>脚本标签中可以包含一段代码,但是它们不直接影响输出的模板,我们可以在里面存放一些常用的方法

5、在模板中调用方法

bubuko.com,布布扣
bubuko.com,布布扣
<%@ CodeTemplate Language="C#ResponseEncoding="UTF-8" Description="爱情表达"%>
<%Property Name="Content" Type="String" Default="" Optional="False" Category="Context" Description="要讲的话" %>
<%Property Name="Count" Type="Int32" Default="10" Optional="true" Category="Context" Description="讲的次数" %>

您说的内容如下:
<%Say(); // 调用Say方法%>

<script runat="template">
public 
void Say()
{
    
for(int i=0; i<Count; i++)
    {
        Response.WriteLine(Content);
    }
}
</script>
bubuko.com,布布扣
bubuko.com,布布扣

代码标签:
<% 可以放置任意代码,但不能输出到模板 %>
<%= 输出内容 %>

6、运行模板,但是发现报出错误
bubuko.com,布布扣
bubuko.com,布布扣
Content is required:要讲的内容不能为空。原来我们把Content参数的Optional设置为了false,Content必须输入值。

9、在属性窗口中输入值【I LOVE YOU】并重新运行
bubuko.com,布布扣
注:Count中有默认值10,说明Default为10产生作用。

最后结果为:
您说的内容如下:
I LOVE YOU
I LOVE YOU
I LOVE YOU
I LOVE YOU
I LOVE YOU
I LOVE YOU
I LOVE YOU
I LOVE YOU
I LOVE YOU
I LOVE YOU

呵呵,怎么样,效果出来了吧。下次我将会为大家讲解对数据库中信息的访问,谢谢!

输入参数和方法,布布扣,bubuko.com

输入参数和方法

标签:des   style   blog   class   code   java   

原文地址:http://www.cnblogs.com/lyl6796910/p/3719871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!