当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET立即上手教程(1)

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

ASP.NET立即上手教程(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 54 ::
收藏到网摘: n/a

一、开始

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文档。

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

变量声明

语句

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