第一天

来源:互联网 发布:产品标签样本数据 编辑:程序博客网 时间:2024/04/29 08:20

     Day   1        
                                                 初识ASP.NET 
<form runat="server">
   State:<asp:DropDownList id="state" runat="server"/>
    <asp:Button Text="Show Authors" OnClick="ShowAuthors" runat="server"/>
     <p/>
    <asp:DataGrid id="DataGrid1" runat"server"/>
 </form>
   此处有一个标有runat="server"属性的表单,这表示告诉ASP.NET改表单将返回数据以便在服务器代码中使用.在表单中DropDownList(等同于HTML SELECT列表),Button(等同于一个HTML INPUT type="button"),以及一个用来显示信息的DataGrid.其中的按钮使用OnClick事件来鉴别服务器端代码的名称,以便当用户单击它时运行这些代码.值得注意的是,这里的OnClick事件不是客户端的DHTML的OnClick事件.由于该控件是一个服务器端的控件(runat="server"),因此事件会在服务器端的代码中被该控件作用.
    If Not Page.IsPostBack Then
       state.Item.Add("CA")
       ...
     End If
   Web Control 一个很重要的特点就是他们在页面发送的过程中会保留其内容,因此我们不用再次对他们进行填充.IsPostBack特性允许我们鉴别页面是否是首次加载的,或者是否我们已经返回数据给服务器了.
                                                  认识.NET Framework
       .NET Framework 内容丰富,主要几个部分:
       1 在该平台上可编写识别Internet并在Internet上支持的应用程序,并且这些应用程序接受诸如XML,HTTP和SOAP这样的开放标准.
       2 提供了一些非常重要并且强大的应用程序开发技术,例如可用来创建典型GUI应用程序的windows forms, 当然也包括用于创建网格应用程序的ASP.NET.
     3 包含了一个范围广泛的类库,该类库可为数据访问(关系型和XML),目录服务,消息对列等提供广泛支持.(到目前为止我对目录服务和消息队列还比较陌生)
    4 该平台有一个基类库,该类苦包含了数百个类,他们用来执行象文件操作,注册表访问,安全,线程以及利用正则表达式搜索文本这样的常规任务.(正则表达式??)
   5 不存在语言歧视性,可以很公平的支持任何语言.
   6 具有向下兼容性,它为您或第三方使用COM或标准DLL编写的现有组件提供了很好的互用性支持.
   7 改平台有一个称之为公共语言运行时,CLR运行独立的代码运行和管理环境.CLR确保代码的安全执行,同时它还在操作系统之上提供了一个抽象的层,这表明.NET Framework 中的各元素均可以在多种操作系统和设备上运行.(此处本人有些疑问!!)
   名称空间有以下两个主要功能:
   1 对相关类型进行逻辑分组:例如,System.Web包含了所有管理Web请求的低级执行的ASP.NET类.而System.Web.UI包含了所有实际显示UI的类,同时System.Web.Hosting 包含了帮助在IIS或其它应用程序中主控ASP.NET的类.
   2 减少名称冲突
  注: 名称空间不对类型进行物理分组,这是因为一个名称空间可以在不同的装配件中(DLLs和EXEs)
   ASP.NET自动地把常用地名称输入到ASP.NET页中.
   可以将名称空间当作目录来理解.不过他们包含的是类而不是文件.但是一个称为A.B的名称空间并不意味着一定存在一个名为B的名称空间.
   公共语言规范(comman language specification,cls)
  类型            
 System.Boolean   
 System.Byte      表示无符号的字节值(0-255之间的正整数)
  System.Char     UNICODE字符值
  System.DateTime  数据和时间值
 System.Decimal   用28个重要的数字表示正负值
System.Double      64位,双精度的浮点数字
 System.Int16     16位的带符号整数值
 System.Int32     32...
 System.Int64      64...
System.Sbyte      8位的带符号整数(-128~127)
 System.Single  4位,单精度的浮点数字
 System.TimeSpan   时间段,或正或负
 System.String    UNICODE字符串
 System.Array    一维数组
 System.Object    所有其他类型继承的基本类型

  值类型:分配到堆栈中的空间,如基本类型
  引用类型:分配到可管理CLR堆中的空间,如对象类型
  封箱:
     //c#
  int i= 32;
   object o = i;//堆栈中的值类型的内容被复制到可管理堆栈中分配的内存中.而创建的引用类型包含              //了一个改值类型的副本,且可由其他要求object引用的类型使用.包含在值类型中的                 //和创建的引用类型是完全不相关的(除非它们包含了相同的值(如何理解???)),如果修改           //了原来的值类型,引用类型也不会受到影响.
  拆箱:
  //c#
     object o;
     int i = (int)o;
   //假设变量o已经初始化
   拆箱时,可管理堆中的内存被复制到堆栈中
  注:真正理解封箱和拆箱是很重要的,因为它涉及到性能问题

原创粉丝点击