当前位置:  编程技术>综合
本页文章导读:
    ▪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      
    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
unix/linux知识 iis7站长之家
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3