◇一、开始 1、介绍 欢迎光临ASP.NE...... 一、开始 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.......待续 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 07:24 , Processed in 0.212995 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.