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)通過數據庫,實現兩個下拉框的聯動(無刷新)