当前位置: 编程技术>综合
本页文章导读:
▪CodeSmith 使用教程(4): 基本语法-CodeTemplate 指令 <%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="This is a demo template" %>
Normal: 正常模式,代码模板输出内容写到正常的输出流(Response Stream)。Trace: 输出内容写到Tr.........
▪Yii Framework 开发教程(45) Zii组件-Selectable示例 CJuiSelectable可以显示一个列表,列表的每个项支持Select事件,它封装了 JUI Selectable插件,其基本用法如下:<?php
Yii::app()->clientScript->registerCss('selectable',"
#selectable {list-style-type: none.........
▪流程控制语句(例子) 1,switch语句:判断用户输入的月份属于什么季节.
namespace switch语句
{
class Program
{
static void Main(string[] args)
{
//判断用户输入的月份所在的季节
Console.WriteLine(&quo.........
[1]CodeSmith 使用教程(4): 基本语法-CodeTemplate 指令
来源: 互联网 发布时间: 2013-11-07
前面的几篇介绍了使用CodeSmith模板自动生成代码和编写代码模板的基本知识。也说过CodeSmith最核心的部分是代码模板,从本篇开始介绍CodeSmith代码模板的基本语法,对于Asp.Net程序员来说,可以说是碰到老朋友了:-) ,CodeSmith 的代码模板和Asp.Net Page 几乎如出一辙。
本篇介绍CodeTemplate指令,这个是模板中唯一必须的声明,包含一些模板特殊的属性,包含模板使用的语言、生成的语言和一些对于模板的描述。比如:
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="This is a demo template" %>
参数的介绍:
- Language:在开发编写模板时使用的语言,例如C#,VB.NET,Jscript等。
- TargetLanguage:只是对模板代码的一个分类,不会影响生成的代码语言。是模板的一个属性,说明模板要基于那种语言生成相应的代码。例如你可以用CodeSmith从任何一种语言生成C#代码。
- Description:对于模板的一些说明信息,在CodeSmith Explorer中选中该模板时会显示这里的信息。
- Inherits:所有CodeSmith模板默认继承自CodeSmith.Engine.CodeTemplate,这个类提供模板使用的一些基本功能,像ASP.NET页面的Page类,这些被继承的类的属性可以被修改,但是这些新的类也必须继承CodeSmith.Engine.CodeTemplate。CodeSmith也同样可以找到这个类,当然你要引入一个组件包含这个类。
- Src:在某些方面Src和继承Inherits比较相似,它们都允许你从其他的类包含一些功能进模板。这两个属性的区别是,Src可以让类与你的模板被动态编译,而Inherits仅允许你提供一个已经编译好的类或组件。
- Debug:可以确定是否在模板中可以包含调试符号。如果将这个属性设置为True,则可以使用System.Diagnostics.Debugger.Break()方法来设置断点。
- LinePragmas:设置为True,模板的错误将被指向到模板的源代码。设置为False,模板的错误将被指向到编译的源代码。
- ResponseEncoding 指明代码模板的输出文件的编码方式,可以为 System.Text.Encoding.GetEncoding支持的所有编码方式,如果输出文件已存在并且和要生成的内容一致,输出文件的编码方式不会变化。
- OutputType 指明输出文件的的输出模式,可以有三种模式:
Normal: 正常模式,代码模板输出内容写到正常的输出流(Response Stream)。
Trace: 输出内容写到Trace(调试)输出流中。
None: 控制代码模板不输出任何内容,主要用在主-从模板的主模板中,有些情况下无需主模板输出任何内容。
- NoWarn 不显示某些编译警告,Warning的ID使用逗号分隔,主要用在编译C#和VB.Net时用到。
- ClassName 使用Code-Behind时对应的类名称,类似于Asp.Net代码。
- Namespace 使用Code-Behind时对应的类命名空间名称。
- Encoding 代码模板自身使用的编码方式,缺省为UTF-8.
作者:mapdigit 发表于2013-1-7 8:24:28 原文链接
阅读:42 评论:0 查看评论
[2]Yii Framework 开发教程(45) Zii组件-Selectable示例
来源: 互联网 发布时间: 2013-11-07
CJuiSelectable可以显示一个列表,列表的每个项支持Select事件,它封装了 JUI Selectable插件,其基本用法如下:
<?php Yii::app()->clientScript->registerCss('selectable'," #selectable {list-style-type: none; margin: 0; padding: 0; width: 60%;} #selectable li {margin: 2px; padding: 4px; border: 1px solid #e3e3e3; background: #f7f7f7} #selectable .ui-selecting { border: 1px solid #fad42e; } #selectable .ui-selected { border: 1px solid #fad42e; background: #fcefa1;} #select-result {margin: 0 0 10px 2px; } ", 'screen', CClientScript::POS_HEAD); ?> <h2><?php echo 'Selectable'; ?></h2> <div id="select-result">none</div> <?php $this->widget('zii.widgets.jui.CJuiSelectable',array( 'id'=>'selectable', 'items'=>array( 'id1'=>'Item 1', 'id2'=>'Item 2', 'id3'=>'Item 3' ), 'options'=>array( 'stop'=>'js: function(event,ui){ var result = $("#select-result").empty(); $(".ui-selected", this).each(function(){ var index = $("#selectable li").index(this); result.append(" #" + (index + 1)); }); }' ) )); ?>
使用Javascipts 来响应选择事件。
本例下载
作者:mapdigit 发表于2013-1-7 8:22:53 原文链接
阅读:40 评论:0 查看评论
[3]流程控制语句(例子)
来源: 互联网 发布时间: 2013-11-07
1,switch语句:判断用户输入的月份属于什么季节.
namespace switch语句 { class Program { static void Main(string[] args) { //判断用户输入的月份所在的季节 Console.WriteLine("请您输入一个月份!"); int MyMouth = int.Parse(Console.ReadLine()); //变量MyMouth用于获取用户输入的数据 string MySeason; switch (MyMouth) { case 12: case 1: case 2: MySeason ="此月份是冬季!学敏记得保暖哦!"; break; //跳出switch语句 case 3: case 4: case 5: MySeason ="此月份是春季!学敏记得戴眼镜,避大风哦!"; break; case 6: case 7: case 8: MySeason ="此月份是夏季!学敏记得吃雪糕,穿热裤哦!"; break; case 9: case 10: case 11: MySeason ="此月份是秋季!学敏这是个丰收的季节,给家里常打电话问候哦!"; break; default : MySeason = "月份输入错误!学敏温馨提示:只存在1~12月哦,亲!"; break; } Console .WriteLine (MySeason ); Console .ReadLine (); } } }
运行结果:
2,while语句:声明两个int型变量 为s、num,初始值分别为0和100. 通过while语句循环输出。当s>50时,使用break语句终止循环;当s为偶数时,使用continue开始下一个循环。
namespace while语句 { class Program { static void Main(string[] args) { //当s>50时,使用break语句终止循环;当s为偶数时,使用continue开始下一个循环 int s = 0; int num = 100; while (s < num) { s++; if (s > 50) { break; } if (s % 2 == 0) { continue; } Console.Write(s+" "); } Console.WriteLine("\n 学敏,以上就是0到50的所有奇数的输出!请注意查收!"); Console.ReadLine(); } } }
运行结果:
4,for语句:声明一个int类型的数组,然后向数组中添加5个值,最后使用for循环语句遍历数组,并将数组中的值输出.
namespace for语句 { class Program { static void Main(string[] args) { string[]xuemin; xuemin=new string [5]; //声明一个具有5个元素的string型数组 xuemin[0] = "大家好!"; //向数组中添加元素 xuemin[1] = "我叫韩学敏"; xuemin[2] = "我喜欢学习计算机!"; xuemin[3] = "谢谢我的恩师—米新江!!!"; xuemin[4] = "我会好好努力的,投入百分之百的热情!"; for (int i = 0; i < xuemin.Length; i++) //利用for语句 输出数组中的每个元素 { Console .WriteLine ("xuemin [{0}]的值为:{1}",i ,xuemin [i ]); } Console .ReadLine (); } } }
5,foreach语句:遍历数组
namespace foreach语句 { class Program { static void Main(string[] args) { int count; Console.WriteLine("输入学敏的朋友个数"); count = int.Parse(Console.ReadLine()); string[] names = new string[count]; //声明数组names,数组的元素个数为输入的学敏的朋友个数count for (int i = 0; i < names.Length; i++) { Console.WriteLine("请输入学敏的第{0}个朋友的姓名:", i + 1); names[i] = Console.ReadLine(); } Console.WriteLine("已经输出的学敏的朋友如下:"); foreach (string name in names) //foreach语句遍历数组 { Console.WriteLine("{0}", name); } Console.ReadKey(); } } }
6,break语句:
在switch语句和while语句中的应用例子见上面1、2
在for语句中的应用如下:
namespace break语句 { class Program { static void Main(string[] args) { for (int i = 0; i < 3; i++) { Console .Write ("\n 第{0}次循环:",i ); //输出提示第几次循环 for (int j=0;j <200;j ++) { if (j==12) //如果 j 的值等于12
最新技术文章: