|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。1、入手下手
1、先容
接待到临ASP.NET当即上手教程。
ASP.NET当即上手教程是由一系列实例和撑持讲授组成的,他的目标是为了闪开发者疾速了解ASP.NET的语法、框架和ASP.NET收集使用程序框架的壮大功效。一切的实例计划的短小而简单了解,能够充实展现ASP.NET的响应功效。在进修完本教程今后,你应当熟习以下内容:
·ASP.NET语法。固然,关于纯熟的ASP开辟者,有些ASP.NET语法元素会很熟习,而有些倒是新框架所独占的。本教程的实例掩盖了一切语法元素的细节。
·ASP.NET布局和特征。本教程先容ASP.NET的特征,这些特征可让开辟者之前所未有的效力创建交互式的、天下级程度的使用程序。
·最好理论。本教程的实例树模了ASP.NET功效的最好路子,同时也制止了潜伏的缺点。
本课本的读者工具程度请求:
假如你之前历来没有过开辟web页的履历,那末本课本不合适你。你应当熟习html和一样平常的web开辟术语。你不必要有过asp的履历,可是你应当熟习交互式页面的观点,包含表单,剧本和数据会见。
消化吸取本课本的实例
本课本是所展现内容的最好理论。每一个实例创建在观点的辨析和后面实例的引伸之上。该实例是一个从复杂到庞大,从单一手艺到使用的完全的系列
2、甚么是ASP.NET
Asp.net是创建在通用言语运转时候库(CLR)上的使用程序框架。他用来在服务器端构立功能壮大的web使用程序。Asp.net供应了几个超出之前web开辟形式的长处:
·加强的功能。Asp.net是运转在服务器真个编译后的CLR代码,而不是像ASP那样注释实行。Asp.net使用提早绑定,立即编译,当地优化弛缓存服务来进步功能。一切这统统,功能远宏大于你以往写的每行代码。
·天下级程度的开辟工具撑持。在VisualStudio.net的集成开辟情况(IDE)中,Asp.net框架由丰厚的工具箱和计划器构成。所见即所得的(WYSIWYG)编纂体例、拖放服务器控件、和主动部署,仅仅是这一壮大工具所供应的一少部分功效。
·壮大而富有弹性。因为asp.net是基于(CLR)的,因而全部.net平台的壮大和富有弹性,一样能够使用于web使用程序开辟者。.net框架的类库、动静和数据会见办理计划,都能够无缝集成到web。Asp.net也是言语中立的,因而你能够选择你最熟习的言语,大概经由过程几种言语来配合完成一个使用。并且,CLR的互用性能够包管你晋级到asp.ent的时分,现存的基于COM的开辟投资仍然保存。
·复杂。Asp.net使实行经常使用的事情变得很简单,好比从复杂的表单提交、客户端考证,到部署和站点设置。比方,asp.net同意你创建用户接口,完成页面和逻辑代码的分别,同时,就像vb的表单实行形式那样来处置事务(也就是说,由页面驱动形式酿成了事务驱动形式)。别的,CLR简化了部署,用来办理代码服务,比方主动参照和渣滓接纳。
·易于办理。Asp.net利用一个基于文本的、分条理的设置体系,它简化了服务器端情况和web使用程序的设置。因为设置信息用纯文本格局保留,新的设置不必要当地办理工具的撑持。这类“零当地撑持”的理念也一样使用到了部署asp.net使用程序。Asp.net使用程序部署到服务器,简化为复制需要的文件到服务器。在部署,乃至交换正在运转的变异代码的时分,也不必要从头启动服务器。
·可伸缩性和无效使用性。Asp.net被计划成可伸缩的,能为集群和多处置器情况计划进步功能。并且,asp.net运转时候亲切监督和办理历程,如许,假如产生了毛病的举动,比方毛病和逝世锁,新的历程会在以后地位创建,来匡助你的使用程序持续处置事务哀求。
·可订制和扩大。Asp.net供应一种优秀的扩大布局,同意开辟者在得当的级别“拔出”他们的代码。现实上,利用本人的编写的组件能够扩大大概交换asp.net运转时候的任何子组件。实行自界说考证或形态服务变得亘古未有的简单。
·平安性。内建的windows考证和每个使用程序的自力设置,你能够以为你的使用程序是平安的。
接上去的asp.net教程权力将向您展现这些观点的实习
3、言语撑持(C#版本)
言语撑持
微软的.net平台如今供应内建的三种言语撑持:C#,VisualBasic,和Jscript。本课本的实习和实例代码展现怎样利用这三种言语创建.net使用程序。关于其他言语的更多得语法信息,请参考.NETFrameworkSDK文档。
上面供应的的代码段匡助你了解本课本中代码实例,和这三种言语之间的差别。
变量声明
以下为援用的内容:
intx;
Strings;
Strings1,s2;
Objecto;
Objectobj=newObject();
publicStringname;
语句
Response.Write("foo");
正文
//这是单行正文
/*这是多行正文*/
会见索引属性
以下为援用的内容:
Strings=Request.QueryString["Name"];
Stringvalue=Request.Cookies["key"];
声明索引属性
以下为援用的内容:
//DefaultIndexedProperty
publicStringthis[Stringname]{
get{
return(String)lookuptable[name];
}
}
声明复杂属性
以下为援用的内容:
publicStringname{
get{
...
return...;
}
set{
...=value;
}
}
声明和利用列举
以下为援用的内容:
//DeclaretheEnumeration
publicenumMessageSize{
Small=0,
Medium=1,
Large=2
}
//CreateaFieldorProperty
publicMessageSizemsgsize;
//AssigntothepropertyusingtheEnumerationvalues
msgsize=Small;
遍历汇合
以下为援用的内容:
foreach(Stringsincoll){
...
}
声明和利用办法
以下为援用的内容:
//Declareavoidreturnfunction
voidvoidfunction(){
...
}
//Declareafunctionthatreturnsavalue
Stringstringfunction(){
...
return(String)val;
}
//Declareafunctionthattakesandreturnsvalues
Stringparmfunction(Stringa,Stringb){
...
return(String)(a+b);
}
//UsetheFunctions
voidfunction();
Strings1=stringfunction();
Strings2=parmfunction("Hello","World!");
定制属性
以下为援用的内容:
//Stand-aloneattribute
[STAThread]
//Attributewithparameters
[DllImport("ADVAPI32.DLL")]
//Attributewithnamedparameters
[DllImport("KERNEL32.DLL",CharSet=CharSet.Auto)]
数组
以下为援用的内容:
String[]a=newString[3];
a[0]="1";
a[1]="2";
a[2]="3";
String[][]a=newString[3][3];
a[0][0]="1";
a[1][0]="2";
a[2][0]="3";
初始化
以下为援用的内容:
Strings="HelloWorld";
inti=1;
double[]a={3.00,4.00,5.00};
If语句
if(Request.QueryString!=null){
...
}
Case语句
以下为援用的内容:
switch(FirstName){
case"John":
...
break;
case"Paul":
...
break;
case"Ringo":
...
break;
default:
...
break;
}
For轮回
for(inti=0;i<3;i++)
a(i)="test";
While轮回
inti=0;
while(i<3){
Console.WriteLine(i.ToString());
i+=1;
}
非常处置
以下为援用的内容:
try{
//Codethatthrowsexceptions
}catch(OverflowExceptione){
//Catchaspecificexception
}catch(Exceptione){
//Catchthegenericexceptions
}finally{
//Executesomecleanupcode
}
字符串联接
以下为援用的内容:
//UsingStrings
Strings1;
Strings2="hello";
s2+="world";
s1=s2+"!!!";
//UsingStringBuilderclassforperformance
StringBuilders3=newStringBuilder();
s3.Append("hello");
s3.Append("world");
s3.Append("!!!");
事务处置委派
以下为援用的内容:
voidMyButton_Click(Objectsender,
EventArgsE){
...
}
声明事务
以下为援用的内容:
//Createapublicevent
publiceventEventHandlerMyEvent;
//Createamethodforfiringtheevent
protectedvoidOnMyEvent(EventArgse){
MyEvent(this,e);
}
向事务增添或移除事务处置
以下为援用的内容:
Control.Change+=newEventHandler(this.ChangeEventHandler);
Control.Change-=newEventHandler(this.ChangeEventHandler);
机关
以下为援用的内容:
MyObjectobj=(MyObject)Session["SomeValue"];
IMyObjectiObj=obj;
转换
以下为援用的内容:
inti=3;
Strings=i.ToString();
doubled=Double.Parse(s);
带有承继的类界说
以下为援用的内容:
usingSystem;
namespaceMySpace{
publicclassFoo:Bar{
intx;
publicFoo(){x=4;}
publicvoidAdd(intx){this.x+=x;}
overridepublicintGetNum(){returnx;}
}
}
//csc/out:librarycs.dll/t:library
//library.cs
完成接口
以下为援用的内容:
publicclassMyClass:IEnumerable{
...
IEnumeratorIEnumerable.GetEnumerator(){
...
}
}
带有Main办法的类界说
以下为援用的内容:
usingSystem;
publicclassConsoleCS{
publicConsoleCS(){
Console.WriteLine("ObjectCreated");
}
publicstaticvoidMain(String[]args){
Console.WriteLine("HelloWorld");
ConsoleCSccs=newConsoleCS();
}
}
//csc/out:consolecs.exe/t:execonsole.cs
尺度模板
以下为援用的内容:
usingSystem;
publicclassModule{
publicstaticvoidMain(String[]args){
Console.WriteLine("HelloWorld");
}
}
//csc/out:consolecs.exe/t:execonsole.cs
那做企业软件是不是最好用J2EE? |
|