ASP.NET立即上手教程 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利用提前绑定,即时编译,本地优化和缓存服务来提高性能。所有这一切,性能
远远大于你以往写的每一行代码。
·世界级水平的开发工具支持。在Visual Studio .net的集成开发环境(IDE)中,Asp.n
et框架由丰富的工具箱和设计器组成。所见即所得的(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;
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 循环
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.......待续
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值