分享
 
 
 

ASP.NET(bata2)立即上手教程(c#版)-1

王朝c#·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

一、开始

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利用提前绑定,即时编译,本地优化和缓存服务来提高性能。所有这一切,性能远远大于你以往写的每一行代码。

·世界级水平的开发工具支持。在Visual Studio .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#, Visual Basic, 和 Jscript。本教材的练习和实例代码展示如何使用这三种语言建立.net应用程序。关于其他语言的更多得语法信息,请参考.NET Framework SDK文档。

下面提供的的代码段帮助你理解本教材中代码实例,以及这三种语言之间的差异。

变量声明

int x;

String s;

String s1, s2;

Object o;

Object obj = new Object();

public String name;

语句

Response.Write("foo");

注释

// 这是单行注释

/*

这是

注释*/

访问索引属性

String s = Request.QueryString["Name"];

String value = Request.Cookies["key"];

声明索引属性

// Default Indexed Property

public String this[String name] {

get {

return (String) lookuptable[name];

}

}

声明简单属性

public String name {

get {

...

return ...;

}

set {

... = value;

}

}

声明和使用枚举

// Declare the Enumeration

public enum MessageSize {

Small = 0,

Medium = 1,

Large = 2

}

// Create a Field or Property

public MessageSize msgsize;

// Assign to the property using the Enumeration values

msgsize = Small;

遍历集合

foreach ( String s in coll ) {

...

}

声明和使用方法

// Declare a void return function

void voidfunction() {

...

}

// Declare a function that returns a value

String stringfunction() {

...

return (String) val;

}

// Declare a function that takes and returns values

String parmfunction(String a, String b) {

...

return (String) (a + b);

}

// Use the Functions

voidfunction();

String s1 = stringfunction();

String s2 = parmfunction("Hello", "World!");

定制属性

// Stand-alone attribute

[STAThread]

// Attribute with parameters

[DllImport("ADVAPI32.DLL")]

// Attribute with named parameters

[DllImport("KERNEL32.DLL", CharSet=CharSet.Auto)]

数组

String[] a = new String[3];

a[0] = "1";

a[1] = "2";

a[2] = "3";

String[][] a = new String[3][3];

a[0][0] = "1";

a[1][0] = "2";

a[2][0] = "3";

初始化

String s = "Hello World";

int i = 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 (int i=0; i<3; i++)

a(i) = "test";

While 循环

int i = 0;

while (i<3) {

Console.WriteLine(i.ToString());

i += 1;

}

异常处理

try {

// Code that throws exceptions

} catch(OverflowException e) {

// Catch a specific exception

} catch(Exception e) {

// Catch the generic exceptions

} finally {

// Execute some cleanup code

}

字符串连接

// Using Strings

String s1;

String s2 = "hello";

s2 += " world";

s1 = s2 + " !!!";

// Using StringBuilder class for performance

StringBuilder s3 = new StringBuilder();

s3.Append("hello");

s3.Append(" world");

s3.Append(" !!!");

事件处理委派

void MyButton_Click(Object sender,

EventArgs E) {

...

}

声明事件

// Create a public event

public event EventHandler MyEvent;

// Create a method for firing the event

protected void OnMyEvent(EventArgs e) {

MyEvent(this, e);

}

向事件增加或移除事件处理

Control.Change += new EventHandler(this.ChangeEventHandler);

Control.Change -= new EventHandler(this.ChangeEventHandler);

构造

MyObject obj = (MyObject)Session["Some Value"];

IMyObject iObj = obj;

转换

int i = 3;

String s = i.ToString();

double d = Double.Parse(s);

带有继承的类定义

using System;

namespace MySpace {

public class Foo : Bar {

int x;

public Foo() { x = 4; }

public void Add(int x) { this.x += x; }

override public int GetNum() { return x; }

}

}

// csc /out:librarycs.dll /t:library

// library.cs

实现接口

public class MyClass : IEnumerable {

...

IEnumerator IEnumerable.GetEnumerator() {

...

}

}

带有Main方法的类定义

using System;

public class ConsoleCS {

public ConsoleCS() {

Console.WriteLine("Object Created");

}

public static void Main (String[] args) {

Console.WriteLine("Hello World");

ConsoleCS ccs = new ConsoleCS();

}

}

// csc /out:consolecs.exe /t:exe console.cs

标准模板

using System;

public class Module {

public static void Main (String[] args) {

Console.WriteLine("Hello World");

}

}

// csc /out:consolecs.exe /t:exe console.cs

经过以上介绍以后,我们下面开始讲ASP.NET Web Forms.......待续

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有