Asp.net学习笔记篇一

一直做Java web开发,但这段时间因工作需要,把.net和php也看了下.
既然如此,决定把.net ,java,php以及Flex/Ext都扫荡一遍.当然重点还是Java
1.Aspx网页始终被编译成.net类,并保存在程序集中,再次访问时只需要执行编译了的类. (和jsp相同).
2.Aspx网页类从Page基类派生而来.Page基类提供了状态管理工具,如Cache,Session,Application,Response,Request等.
   C#中Page定义如下:
           public class Page : TemplateControl, IHttpHandler
   Page类继承TemplateControl类,实现了IHttpHandler接口.
3.代码隐藏:创建中间基类,让中间基类从Page类派生,aspx的生成的类从中间基类派生.
   方法:设置Page指令的Inherits属性或者src属性.
   ps:可以把初始化代码放入中间基类的构造函数中.
4.Page类的事件序列(见篇三)
5.对于客户端的每个请求,都由Page类的一个新实例来处理.
6.ado.net 中  
       IDbConnection  (实现类OleDbConnection/SqlConnection)    接口对应Java的Connection 口                                 
       IDbCommand    (实现类OleDbCommand/SqlCommand)        接口对应Java的 
                                                                                                     Statement/PreparedStatement/CallableStatement接口
       IDataReader   (实现类OleDbDataReader/SqlDataReader)    接口对应Java中的ResultSet接口
7.asp.net中的数据绑定可以使用 DataReader 或者 DataSet
   这是基于两种数据库访问模式,连接模式和非连接模式.
8.服务器端求值语法<%= %>,服务器端脚本语法<% %>      (jsp相同)
9.请求url进入服务器后,最终由Page类的ProcessRequest方法处理(Page类实现了的IHttpHandler接口方法)
   在传统的MVC模式开发中,Java里面常用Servlet作为Controller,对应在.Net中,可以通过实现IHttpHandler接口来起Controller作用.
10.HttpContext维护所有与请求相关的数据
     可以通过HttpContext以公共属性形式访问
            Application(HttpApplicationState),
            Session(HttpSessionState),
            Request(HttpRequest),
            Response(HttpResponse),
            Server(HttpServerUtility)//HTTP服务器对象,
            Items(IDictionaty)//每请求属性包

   ex.    HttpContext context = HttpContext.Current;
            HttpRequest request = context.Reqeust;
            HttpResponse response = context.Response;
11. post方法:Request.Form["textname"];//取值
      get方法: Request.QueryString["textname"];;//取值
      控件后面加上 runat="server"

12.让代码支持折叠显示
    #region  代码段的描叙
    #endregion
13.类型转换: (变量类型)变量名(和Java一样);Convert类;各种类型的Parse方法
14.属性的setter/getter
     public String name{
            get{ return name;}
            set{ name = value;}
    }
15.普通集合(using System.Collections)/泛型集合(using System.Collections.Generic)
  ArrayList/List<T>,Hashtable/Dictionary<K,V>
16.Page有个属性IsPostBack(是否页面回发),在用户单击某个按钮导致页面回发时,可以在Page_Load()方法中通过这个属性来判断页面是否是第一次加载,从而避免再次初始化控件
    ex. if(!IsPostBack){  //初始化操作}

17. C#中的继承和实现都用用":", 不管是继承类还是实现接口
18.C#中遍历
     ex. String myString;foreach(char  a in myString){}  //遍历字符窜
           String[] strArray;foreach(String str in strArray){}  //  遍历数组 java : for(String str:strArray){}
           List<int> list; foreach(int a in list){}                      //遍历list
19.参数数组 params
     ex: int SumVals(params  int[]  values){ } //该方法接受任意个int或者不接受任何参数
          等价于java中  int SumValse(int... values){ }
20.C#函数中分为值参数(默认)和引用参数(ref关键字)
      ex.  showDouble(ref int val){  val*=2; }
             int num=5;
             showDouble(ref num);//注意调用格式
             //此时num的值为10
21.out关键字,执行方式和引用参数一样,函数执行完后,该参数的值将返回给函数调用中使用的变量.
      ex:showDouble(int val,out  int idx){  val*=2; idx = val;}
           int num =5;
           int result;
           showDouble(num,out result);
22.List的索引访问( [])
      ex. List<int> list= new List<int>();
            list.add(1);list[0]
23.和Java类似,String和Object是引用类型,简单变量(如int,double)和所有结构等是值类型(Java中叫基本类型)
      c#: value and reference types;
      java: primitive and reference types
      C#中所有数据类型都是System.Object的子类,包括引用类型和值类型.  两种预定义的引用类型:string和object
      C#中一般不用太区分值类型和引用类型(必要时,由于拆箱和装箱机制,基本类型会被转换成引用类型)
24.泛型的约束定义,约束必须出现在继承说明符号后
     ps:泛型用法基本与Java类似
     ex.class MyClass<T1,T2> :MyBase,MyInterface   where  T1:constraint1  where T2:constraint2
25.F11单行调试,F5跳入方法;CTRL+F5执行程序(VS2005)
26.Java中参数传递只有值传递;C#中参数传递有 值传递(默认) 和 引用传递(ref 关键字).
      所谓的值传递是传递 实际参数 的一个拷贝,需要在内存中另分配存储空间.
      如果参数是基本类型(c#值类型),则传递 实际参数 的的一个拷贝;如果是引用类型则传递 实际参数 的引用的一个拷贝
      所谓的引用传递是指传递实际参数在内存中的实际地址,不需要另分配存储空间.
27. 遍历客户端提交的请求参数(Post方法)
     
foreach (String s in Request.Form){
                 System.Console.WriteLine(Request.Form[s]);
      }
28.格式化货币
     System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US"); //美元$
     String moneyCount = String.Format(MyCulture,"{0:C}",money);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值