正文

asp.net笔记(3)2008-04-01 20:33:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ghlat520/33794.html

分享到:

第四章  javascript脚本                                  
  javascript的语法基础
      1:javascript区分大小写
      2:javascript每一条语句必须以";"结束,与C语言一样
      3:输出:document.write("字符串")--->还可以输出对应的html标记
      4:改变窗体的颜色document.bgColor="red";
      4:类型转换:parseInt,parseFloat
      5:随机函数:parseInt(Math.random()*90+10) 产生10--100的随机数
      5:弹出对话框:alert("提示的内容")        
      5:if if...else,for,while,switch case
      5:如何定义数组:
            1)一维数组:
              a=new Array();[定义数组时不需要指定长度]
                  a[0]=1;
                  a[1]=1;
                  a[2]=1;
                  s=0;
               for(i=0;i<a.length;i++)
                     {
                           s+=a[i];
                     }
            2)二维数组:
               city=new Array();
               city[0]=new Array("湖北省","武汉");
               city[1]=new Array("湖北省","仙桃");
               city[2]=new Array("湖北省","洪湖");
               city[3]=new Array("福建省","广州");
               city[4]=new Array("福建省","厦门");
               city[5]=new Array("福建省","漳州");
      5:javascript里面的函数,及函数的调用,以及变量的作用范围
      6:弹出询问对话框:confirm("询问的内容")
      7:关闭窗体:window.opener=null;window.close();     
      8:打开一个窗体:
            1)变量名=window.open("网页名") 开一个新窗口
            2)变量名=window.open("网页名","名字","height=200px,width=300px")
            3)打开窗口在屏幕中心弹出
               t=window.open('dotest.htm','test','height=400px,width=500px');
               t.moveTo((screen.width-500)/2,(screen.height-400)/2;
            4)window.location="url" 不会打开一个新窗口
            5)以模态窗体弹出
               window.showModalDialog('dotest.htm','','dialogWidth=600px;dialogHeight=500px');                 
      9:刷新一个窗体:
         window.location.reload(); 
      10:得到本窗体的表单元素的值:表单名.元素名.value 
      11:如何在另外一个窗体中来访问前一个窗体的表单元素
          A:模态窗体:
                    源窗体 
          1)window.showModalDialog('dotest.htm',window,'dialogWidth=600px;dialogHeight=500px');
                 注意名字一定要写上window
          2)window.dialogArguments.form1.txtuser.value
          B:非模态窗体:
              源窗体:
                 window.open
              目的窗体:
                window.opener.表单名.表单元素名.value
      12:如何通过模态窗体向父窗体返回值:
                 源窗体:
                   t=window.showModalDialog(参数)
                   alert(t)
                 目的窗体:
                   window.returnValue=值;window.opener=null;window.close();
      13:如何在关闭子窗体的同时,刷新父窗体
                 A)非模态窗口
                     源页面:
                       window.open("页面")
                     目的页面:                     
                       window.opener.location.href=window.opener.location.href;
                       window.opener=null;window.close();
                 B)模态窗口
                      源页面:
                         window.showModalDialog();-------有暂停代码的用途
                         window.location.reload();
                      目的页面:
                         window.opener=null;window.close();                                   
       14:设置状态栏文字:window.status         
       15)转换字符串为数值:parseInt("字符串"),parseFloat("字符串")           
       16)得到当前的时间
               var date=new Date();
               document.write(date.toLocaleTimeString());               
       17):得到当前的日期:
                   var date=new Date();
                   document.write(date.toLocaleDateString()); 
       18):回到上一个页面。注意不是刷新
            history.go(-1)
       19:改变某个对像的背景色
                 this.style.backgroundColor='yellow',
                 this.style.color='文字颜色'              
       20:设为首页:
               this.style.behavior='url(#default#homepage)';this.setHomePage('你的网页'); 
       21):指定让代码过几分钟后自动反复执行某个过程.
             setInterval("js代码",1000)                            
                举例:让一个背景不断变换[页面闪得很厉害]
                  var index=1;
                   function ChangePic()
                     {
                        form1.p1.src=index+".jpg";
                        index=index+1;
                       if (index==4)
                          {
                            index=1;
                          }                         
                       }
                          setInterval("ChangePic(index)",1000);
                     改进:[先定义数组,把图片预装在内存中] 
                         pic=new Array(4);
                         pic[0]=new Image();
                         pic[1]=new Image();
                         pic[2]=new Image();
                         pic[3]=new Image();
                         pic[0].src="1.jpg";
                         pic[1].src="2.jpg";
                         pic[2].src="3.jpg";
                         pic[3].src="4.jpg";
                         function ClearText()
                            {
                              form1.p1.src=pic[index].src;
                              index=index+1;
                              if (index==4)
                               {
                                   index=1;
                                }                         
                             }
                               setInterval("ClearText(index)",1000);     
       23):让指定的代码在多少时间之后执行,但只执行一次:
                 setTimeout("js代码",1000); 
       24):清空一个表单中的所有文本框的文本
              for(i=0;i<form1.elements.length;i++)
                 {
                    if (form1.elements[i].type=="text")
                         {
                            form1.elements[i].value="";
                         }
                 }
       25)运行一个可执行文件:
              obj=new ActiveXObject("wscript.shell");                       
              obj.run("calc.exe");
        26)Java script中的事件
           A)onmouseove:鼠标到达
           B)onmouseout:鼠标离开事件
           C)onclick:单击事件
           D)onKeypress:键被按下时,可以通过event.keyCode得到按下键的Asii码  
           E)load事件:把代码直接写在<script></script>就相当于Load事件
           F)onsubmit:当表单提交时会触发表单提交事件 
             原理:当用户按下提交按钮时,会触发表单的onsubmit事件。在这个事件里面根据用户返回                     的值(true,false)来决定是否需要提交表单,为true时会提交,为false不会提交所                       以我们经常会用一个函数来进行数据验证。 
            举例:
             1)<marquee scrollamount=3 onmouseover=this.stop(); onmouseout=this.start();>文字移动
      2)<input type=text name=txtPostalCode onKeypress="if (event.keyCode < 45 ||                          event.keyCode > 57) event.keyCode=0;">//只能输入数字
             3)使表格的选中的行出现不同的颜色 
             4)阻止用户往文本框里面输入值:
                onkeypress="reuturn false"
                 说明:在表单元素的任何事件中,只要加上return false就不会触发此事件 
         25:正则表达式:
             像dos里面的通配符一样,用来检测一个输入是否满足特定的通配符
              ^:代表一行字符的开头
              $:代表一行字符的结束
              []:用来定义可接受的字符
                             [a-z]:表示可以接受小写字母
                             [A-Z]:表示可以接受大写字母
                             [0-9]:表示可以接受数字
                             [0-9,_,a]:表示可以接受数字,下划线或字母a
                             [a-zA-Z0-9]:表示既可以接受英文字母,又可以接受数字
              [^]:不能接受的字符
                              [^a-z]:不能接受英文字母   
              {}:用来定义必须输入的字符个数
                             {3}:必须含有3个字符。
                             {4,8}:至少含有4个至多含有8个字符                             
                             [0-9]{3}:必须输入3个数字
                             [a-zA-Z]{4,6}:必须输入4到6位英文字母
              {n,}:表示至少可以输入n个字符。                     
                              [a-z]{0,}:表示可以接受0个或多个英文字母
                              [a-z]{1,}:表示可以接受至少1个英文字母
              +:匹配前面字符的1次或多次-----相当于{1,}
              *:匹配前面字符的0次或多次-----相当于{0,}
              .:表示任意字符      
                 举例:
                  frm1.user.value.match("^[0-9a-zA-z]{5,8}$")  
   26:如何利用Js对表单元素进行控制:
               A:文本框:
                     1)得到文本框的文本:
                          表单名.表单元素名.value
                     2)获得焦点:
                          表单名.表单元素名.focus()                    
               B:按钮:
                     1)使按钮不可用: 
                        表单名.按钮名.disabled=true  (true,不可用;false 可用)
                     2)使按钮不可见:
                        表单名.按钮名.style.display="none" 不可见
                        表单名.按钮名.style.display=""  可见
                        if (表单名.按钮名.style.display=="") 如果可见
               C)单选框:
                  得到单选框所选中的值 [各个单选框的名称一定要一样,值不一样]
                  for(i=0;i<单选框数组.length;i++)
                     if (单选框数组[i].checked)  break;
                     返回 单选框数组[i].value就行了

                D):得到所有打勾的复选框的值
                       for(i=0;i<复选框数组.length;i++)
                         if (复选框数组[i].checked)  执行对应的语句
                E):下拉框
                     A)得到所选中的值-->下拉框.value
                     B)删除里面的全部内容----->下拉框.length=0;
                     C)删除里面的指定项--->下拉框.options.remove(下标); 
                     D)往里面添加一项----->下拉框.options[下拉框.length]=new Option("标签","值");
                         注意下拉框的options是一个数组,用来存储所有选择,下标是从零开始的
                     E)selectedIndex:得到或设置所选中的项的下标
                     F)options[k].value:得到第i项的值
                     G)onchange事件:当选中项发生改变时,触发
              
                 举例:在客户端实现两个下拉框的联动[注意定义一维数组]
                    city=new Array();
                    city[0]=new Array("湖北省","武汉");
                    city[1]=new Array("湖北省","仙桃");
                    city[2]=new Array("湖北省","洪湖");
                    city[3]=new Array("福建省","广州");
                    city[4]=new Array("福建省","厦门");
                    city[5]=new Array("福建省","漳州");
            27:创建一个模块的js的文件,然后在页面中来调用
              A)直接新建一个*.js文件:
                 直接写上函数,不用加<script type="text/javascript">标记
              B)在目的页面中通过:<script src="JScript.js" type="text/javascript"></script>来引用
           28:多个对像共享同一个事件:
                 <script type="text/javascript"  for="TabItem" event="onmouseover">
                 var TabItem=document.getElementsByName("TabItem");       
                 for(i=0;i<TabItem.length;i++)
                     {
                        if (TabItem[i]==this)
                           {
                               TabItem[i].background="images/nh-bg.gif";           
                           }
                       else
                            {
                                TabItem[i].background="";              
                            }
                    }   
               </script>
                                                                                                                                 
        第四章:C#.net语法基础
          在这一章中,你将要学习以下一些内容
          1:编写asp.net语言的选择
          2:vs.net 2005 界面技巧
          3:如何在页面中加入服务器端代码
          4:如何在页面中导入命名空间
          5:C#.net语法基础
          6:动态的由服务器端向客户端加入javascript

 


                     编写asp.net语言的选择:

    编写asp.net程序,net为我们提供了以下几种语言vb.net,c#.net,j#.net其中vb.net语言是最简单,最容易学的语言,它继承了vb的大部分语法,同时又加入了一整套.net framework,利用vb.net开发asp.net程序是最容易的一门的语言C#.net是整个.net的核语言,它继承了c,c++的大部分语法,较vb.net有点复杂,但是执行程序的效率比vb.net更高,j#.net是继承了javascript的大部分语法,一般很少用。我们选择C#.net语言作来开发asp.net程序的语言

                       vs.net 2005 界面技巧
          1)设置显示解决方案---------:工具--选项-->项目和解决方案-->常规
          2)对单网页可以进行生成,不需要对整个项目进行生成
          3)设计模式与源文件模式(html模式),后代码模式(类),让页面一加载时自动显示设计模式
          4)文档大纲窗口:可以清楚层现html标签的层次关系:视图-->其它窗口--->文档大纲
          5)Html标签导航:切换到源文件模式,单右-->选择最下面的"选中html标签"
          6)源文件模式下控件拖曳
          7)多文档页面显示------ctrl+tab可以在不同文档之间切换
          8)Asp.net网站特殊文件夹:
                  A:App_Code用来存放代码文件(比如:*.cs,类文件)
                  B:App_Date用来存放网站数据文件(数据库文件,xml文件等)
                  C:还有很多其它的特殊文件夹
          9)程序代码重构:
                 A:重构属性
                 B:重构方法
          10)Asp.net网站的动态编译:
                 A:当asp.net第一次运行时,IIs会自动为asp.net生成一个dll,所以第一次非常慢
                   以后只要文件的内容的没有发生改变,IIs就会延用上一次生成的dll,不会再次生成
                   新的dll,所以第一次运行慢,以后运行快
                 B:如果asp.net的源文件内容一旦发生改变,则IIs会重新生在一个dll,利用这个特点
                   我们可以在vs.net环境中写程序,而在IIs中直接打开网站后刷新即可
                                              
                     如何在页面中加入服务器端代码
       C#.net只能被服务器端的IIS来编译执行,所以C#.net语言是一定要运行于服务器端
        A:直接把代码加入"后代码文件"的事件里面[采用CodeBehind]
        B:直接把代码加入"页面文件"里面此时一定要加<%  %>来限制 [采用CodeBeside]
           1)如果是单纯的C#代码,可以直接用<%%>括起来,并且可以有多个<%%>
           2)如果是函数,则一定要紧跟在<%page %>命令符下面,并按照如下的格式:
  <script language="C#" runat="server">
                   private int sum(int a, int b)
                        {
                           return a + b;
                        }
                  </script>
           3)如果要得到一个变量的值,可以写上<%=变量名%>
             比如:
                今天是:<%=System.DateTime.Today.ToLongDateString() %>

  如何在页面中导入命名空间
             1)在代码文件中:使用using语句
             2)在页面文件中:使用<%@ Import 语句比如:
                 <%@ Import  Namespace="System.Data.SqlClient" %> 
                位置在<@ page> 的下面

         
                               C#.net的语法基础
  C#.net的数据类型:
      Int,Double,String,Char,object数据类型(相当于vb里面的变体类型)
  定义变量:
        类型标识符 变量名;
        给变量赋初值:
        可以在定义的时候,给变量赋初值---Int a=5;
        也可以在定义之后,给变量赋初值
  运算符:
      a):赋值运算符:=
      b):算术运算符:+,-,*,\(整除),%(余)
      c):字符串联接符:+
      d):关系运算符:>,>=,<,<=,==
      e):逻辑运算符:&&,||,!
      f):复合运算符:x+=3,x*=6等

  asp.net的输入和输出:
     a):输出 
         1):输出单纯的字符串: response.write("字符串");
         2):输出html标记:response.write("html标记")[重要重要]
            比如:Response.Write("<a href='C:\WINNT\Web\Wallpaper\城堡.jpg'>我的链接</a>")
         3):输出js脚本:Response.Write("<script>js代码</script>");
         4):输出当前的日期和时间:
            Response.Write(DateTime.Now.ToLongTimeString()):时间    
            Response.Write(DateTime.Now.ToLongDateString()):日期
     b):输入:利用控件进行输入比如:textbox控件等
                  
  if 语句,select case语句
       举例:
           A)让用户输入两个数和一个操作符,求出运算结果
           B)让用户输入三门功课求出平均分和总分并根据求出的结果判断优,良,差
           C)根据星期把对应的背景图片换成是"星期"的图片
           
  循环语句:for,while循环
       举例:
           A)输出Moon1.gif~Moon8.gif这几个文件里面的图片
           B)利用表格打印九九乘法表
           C)实现掷骰子游戏                       
  7:数组:
     1):声明与初始化
            静态数组的声明与初始化:
            string[] NameList = new string[6];
           进行初始化
            string[] NameList=new string[5] {"张三","李四","王五","赵六","王七"};
          动态数组的初始化:
            string[] NameList=new string[] {"张三","李四","王五","赵六","王七"};          
    2):数组.length:用来读出数组的长度  
     举例:
         A)定义姓名,语文,数学,化学数组,通过函数与表格求出总分与平均分
         B)利用数组和表格打印出一些商品的列表清单
                                        
   8:哈希表(HashTable):是一种两栏数据结构。一栏是键(Key),一栏是值(Value)
     创建哈希表:
            Hashtable has = new Hashtable();
     添加数据:
             has.add("键",值)
     获得指定键的值
            has["键"]
     检查是否已经存在某个键
         has.ContainsKey("键")
     删除某个键
         has.Remove("键")
     清除全部键
         has.clear();
     访问哈希表的内容:
          Hashtable ht = new Hashtable();
          foreach (DictionaryEntry item in ht)
                          
            26:动态的向服务器(web控件)加入客户端的javascript[重要]
             以前的方法都是根据事先写好的函数,然后再向客户端去调用,但有时候,可能需要服务器
             端传来的数据,再在客户端进行处理,这个时候就要动态的向客户端添加代码
             方法:
                 在Page_Load事件里面写上:
                     1:RegisterClientScriptBlock("chen", js)方法来注册js
                     2:IsClientScriptBlockRegistered("chen")方法来检验些js是否已经注册,从而
                       可以避免一个js被反复注册
                举例:
                   1)从数据库里面读出职工信息,放入客户端的js中。形式如:   
                       Worker=new Array()
         Worker[0]=new Array('张三','BM1');
         Worker[1]=new Array('李四','BM1');
         Worker[2]=new Array('王五','BM2');
         Worker[3]=new Array('赵六','BM2');
                   2)通过数据库,实现两个下拉框的联动(无刷新)

阅读(4204) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册