当前位置: 编程技术>综合
本页文章导读:
▪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
最新技术文章: