{
if (TabItem[i]==this)
{
TabItem[i].background="images/nh-bg.gif";
}
else
{
TabItem[i].background="";
}
}
script> 第四章:C#.net语法基础
在这一章中,你将要学习以下一些内容
1:编写asp.net语言的选择
2:vs.net 2005 界面技巧
3:如何在页面中加入服务器端代码
4:如何在页面中导入命名空间
5:C#.net语法基础
6:动态的由服务器端向客户端加入javascript
编写asp.net语言的选择:
编写asp.net程序,net为我们提供了以下几种语言vb.net,c#.net,j#.net其中vb.net语言是最简单,最容易学的语言,它继承了vb的大部分语法,同时又加入了一整套.net framework,利用vb.net开发asp.net程序是最容易的一门的语言C#.net是整个.net的核语言,它继承了c,c++的大部分语法,较vb.net有点复杂,但是执行程序的效率比vb.net更高,j#.net是继承了javascript的大部分语法,一般很少用。我们选择C#.net语言作来开发asp.net程序的语言
vs.net 2005 界面技巧
1)设置显示解决方案---------:工具--选项-->项目和解决方案-->常规
2)对单网页可以进行生成,不需要对整个项目进行生成
3)设计模式与源文件模式(html模式),后代码模式(类),让页面一加载时自动显示设计模式
4)文档大纲窗口:可以清楚层现html标签的层次关系:视图-->其它窗口--->文档大纲
5)Html标签导航:切换到源文件模式,单右-->选择最下面的"选中html标签"
6)源文件模式下控件拖曳
7)多文档页面显示------ctrl+tab可以在不同文档之间切换
8)Asp.net网站特殊文件夹:
A:App_Code用来存放代码文件(比如:*.cs,类文件)
B:App_Date用来存放网站数据文件(数据库文件,xml文件等)
C:还有很多其它的特殊文件夹
9)程序代码重构:
A:重构属性
B:重构方法
10)Asp.net网站的动态编译:
A:当asp.net第一次运行时,IIs会自动为asp.net生成一个dll,所以第一次非常慢
以后只要文件的内容的没有发生改变,IIs就会延用上一次生成的dll,不会再次生成
新的dll,所以第一次运行慢,以后运行快
B:如果asp.net的源文件内容一旦发生改变,则IIs会重新生在一个dll,利用这个特点
我们可以在vs.net环境中写程序,而在IIs中直接打开网站后刷新即可
如何在页面中加入服务器端代码
C#.net只能被服务器端的IIS来编译执行,所以C#.net语言是一定要运行于服务器端
A:直接把代码加入"后代码文件"的事件里面[采用CodeBehind]
B:直接把代码加入"页面文件"里面此时一定要加<% %>来 [采用CodeBeside]
1)如果是单纯的C#代码,可以直接用<%%>括起来,并且可以有多个<%%>
2)如果是函数,则一定要紧跟在<%page %>命令符下面,并按照如下的格式:
输出:
a):输出
1):输出单纯的字符串: response.write("字符串");
2):输出html标记:response.write("html标记")[重要重要]
比如:Response.Write("我的链接")
3):输出js脚本:Response.Write("输出当前的日期和时间:
Response.Write(DateTime.Now.ToLongTimeString()):时间
Response.Write(DateTime.Now.ToLongDateString()):日期
b):输入:利用控件进行输入比如:textbox控件等
if 语句,select case语句
举例:
A)让用户输入两个数和一个操作符,求出运算结果
B)让用户输入三门功课求出平均分和总分并根据求出的结果判断优,良,差
C)根据星期把对应的背景图片换成是"星期"的图片
循环语句:for,while循环
举例:
A)输出Moon1.gif~Moon8.gif这几个文件里面的图片
B)利用表格打印九九乘法表
C)实现掷骰子游戏
7:数组:
1):声明与初始化
静态数组的声明与初始化:
string[] NameList = new string[6];
进行初始化
string[] NameList=new string[5] {"张三","李四","王五","赵六","王七"};
动态数组的初始化:
string[] NameList=new string[] {"张三","李四","王五","赵六","王七"};
2):数组.length:用来读出数组的长度
举例:
A)定义姓名,语文,数学,化学数组,通过函数与表格求出总分与平均分
B)利用数组和表格打印出一些商品的列表清单
8:哈希表(HashTable):是一种两栏数据结构。一栏是键(Key),一栏是值(Value)
创建哈希表:
Hashtable has = new Hashtable();
添加数据:
has.add("键",值)
获得指定键的值
has["键"]
检查是否已经存在某个键
has.ContainsKey("键")
删除某个键
has.Remove("键")
清除全部键
has.clear();
访问哈希表的内容:
Hashtable ht = new Hashtable();
foreach (DictionaryEntry item in ht)
26:动态的向服务器(web控件)加入客户端的javascript[重要]
以前的方法都是根据事先写好的函数,然后再向客户端去调用,但有时候,可能需要服务器
端传来的数据,再在客户端进行处理,这个时候就要动态的向客户端添加代码
方法:
在Page_Load事件里面写上:
1:RegisterClientScriptBlock("chen", js)方法来注册js
2:IsClientScriptBlockRegistered("chen")方法来检验些js是否已经注册,从而
可以避免一个js被反复注册
举例:
1)从数据库里面读出职工信息,放入客户端的js中。形式如:
Worker=new Array()
Worker[0]=new Array('张三','BM1');
Worker[1]=new Array('李四','BM1');
Worker[2]=new Array('王五','BM2');
Worker[3]=new Array('赵六','BM2');
2)通过数据库,实现两个下拉框的联动(无刷新)