課程屬性:電腦與通訊學系大學部專業選修課程 8. AJAX |
暖身運動:製作本課程點名單網頁 (名單) 1.資料庫檔案建置
2. Visual Web Developer 軟體操作 3. ASP 網站運作流程與原理
4. 查看本機 IP 的 DOS指令:ipconfig 5.查看本機 Port 使用狀況的DOS指令:netstate -a
|
A.首頁 1.日期顯示; 2.訪客人數; 3.系單選顯示; 4.系課程顯示 B.課程資訊 1.班級課表:系所(簡稱)→班級→課程&時間&教室... 2.教室課表;系所(簡稱)→教室→課程&時間&教室... 3.老師課表; 4.同學課表; 5.今天課表; ※.點名網頁 1.登入網頁; 2.電子點名單組成; 3.點名資料讀寫 |
單元 二:問卷填寫式網頁 1.資料庫設計:題庫、答案資料 2.題目顯示、選項設計 3.版面與表格設計 4.資料上傳 5.後台管理頁面 A.登入頁面 B.原始資料檢視編輯,密碼修改,後門管制 C.統計報表,後門管制 |
單元三: 報名資料填寫網頁(如這個頁面) 1.資料庫設計:個人資料項目,如姓名、學號、電話、電郵以及檔案上傳 2.資料驗證控制項的使用:A.有無資料、B.電子郵件、C.電話 3.單選介面Radioboxlist(如葷素)與複選介面Checkboxlist 4.上傳時間紀錄 3.登入IP檢視 ( Dim IPs As String = Request.UserHostAddress 'IPs=客戶端IP ) |
單元四: 網路預約系統(以訂房旅館為例...)
參考程式碼:
|
單元五:電影院座位(使用SQL資料庫,Ajax...) 1.操作介面:程式產生勾選項目 2.SQL資料庫建置 3.預設資料產生 4.資料轉勾選:讀出 5.勾選轉資料:寫入 6.統計值
|
單元六:勤務班表管理系統
|
單元七:網路考試網頁(點名單) 1.身分認證 2.時間認證 3.IP認證 3.考卷上傳 |
單元八:Web Service 網路服務 (測試網站) 1. Web Service的目的與意義 2.操作: A.建立ASP.NET Web 服務網站 B.上傳至測試網站 C.叫用Web Service D.修改服務內容 E.更新服務測試新功能 F.溫標轉換(數學) G.學號姓名查詢(資料庫) 這是使用ADO.NET的方法,需匯入命名空間 Imports System.Data Imports System.Data.Oledb 副程式如下: <WebMethod()> _ Public Function ID2Name(ByVal ID As String) As String Dim Con As New OleDbConnection Con.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("App_Data/db.mdb") Con.Open() Dim Cmd As OleDbCommand = New OleDbCommand("Select [學號], [姓名] From [M]", Con) Dim R As OleDbDataReader = Cmd.ExecuteReader Dim N As String = "" While R.Read If R.Item(0).ToString = ID Then N = R.Item(1).ToString Exit While End If End While Return N End Function
|
單元九:網路地圖程式 UrMap 範例 GoogleMap 範例 修改以下範例成為你需要的地區的網路地圖網頁: http://code.google.com/intl/zh-TW/apis/maps/documentation/examples/map-simple.html 修改以下範例成為可以點出經緯度座標的程式: http://code.google.com/intl/zh-TW/apis/maps/documentation/examples/event-arguments.html 修改以下範例成為標示特定地點的網頁: http://code.google.com/intl/zh-TW/apis/maps/documentation/examples/map-markers.html 修改以下範例成為有線條顯示的網頁: http://code.google.com/intl/zh-TW/apis/maps/documentation/examples/polyline-simple.html
將經緯度轉為平面座標的網路服務 1. 選取『網站』→『加入Web參考 2. URL(網址)輸入:http://ycc.tsu.edu.tw/trans/Trans.asmx 3. 將出現的參考名稱改為簡單的名稱,如 Coor,之後按下『加入參考』按鍵 4. 方案總管內會出現 App_WebReferences的Coor新項目 5. 在程式內宣告服務物件,測試轉換一個經緯度字串,程式如下:
Dim C As New Coor.Service 2768300.219,197181.312 (即 Y,X 公尺座標) 使用此項服務可以將自 Google Maps 取得的經緯度座標轉換為如上以『公尺』為單位的座標,執行計算距離等功能。 如果你取得 Google的座標點物件(GLatLng) ,可以直接放到上述程式碼的 C.Trans(GLatLng)裡面轉換。 |
單元十:使用 HTTP 網路協定的 VB.NET 通訊程式 匯入命名空間(函式庫)
Imports System.Net
伺服端:
'在此依據收到的客戶訊息產生回覆,包括:計算或查詢資料庫等等
Dim Rq
As WebRequest = HttpWebRequest.Create(網址+通訊埠+上傳訊息)
'對伺服器發出訊息, ex: http://ycc.tsu.edu.tw:8000/hello
請試用以上的程式核心建立一個簡單的聊天看板。 URL編碼與解碼語法: In Normal VB:
Dim S As String = Uri.EscapeDataString("張逸中")
In ASP Pages:
|
單元十一:AJAX聊天室 (VWD 2008) 網頁模式的聊天室的必須可以讓遠端發言者的資料主動的出現在你的網頁上,不能依賴使用者自己一直按重新整理按鍵來取得新資訊,否則就與電子郵件一樣了!這表示網站必須有辦法主動(而且自動的)更新客戶的網頁,這就必須使用到AJAX機制的協助。基本上就是以計時器定時檢查使用者的資料版本(時間)與伺服端的最新資料版本是否相同,如果不同 ,資料會在使用者未動作的情況下自動更新。 請先布置物件如下: 1.在網頁最前(上)端布置一個ScriptManager,也就是一般介紹AJAX的書上說的AJAX引擎,其內包含執行AJAX需要的JavaScript程式碼。 2.緊接著布置一個Timer,此物件會在伺服器端執行檢查資料變化的情況,有需要時主動改變網頁內容。 3.再布置一個UpdatePanel,此物件劃定頁面必須更新的範圍,可以避面整頁更新造成的頁面閃爍。 4.在UpdatePanal裡面布置一個文字看板、發言文字框與按鍵。
並將UpdatePanel1的屬性調整: UpdateMode->Conditional ChildrenAsTRiggers->False 並在Page_Load事件中寫:(註冊Timer1為非同步元件) Me.ScriptManager1.RegisterAsyncPostBackControl(Timer1) 這會使得更新動作完全由程式控制,否則這些元件常常會意外的觸發不必要的更新動作。
程式碼如下: 單機電腦測試多人連線的方式: 1.按下Visual Studio的開始偵錯鈕(Play),出現瀏覽器視窗後複製其網址(類似:http://localhost:1234...) 2.開啟另一個瀏覽器視窗,將上述網址貼入網址列之後連線即可 說明: Visual Studio軟體的原理是先執行一個虛擬的網站伺服器,我們設計的網站就在此伺服器中執行, 在使用者第一次開始偵錯之後到整個軟體關閉之前,這個伺服器一直處於運作中的狀態, 所以網路可連線的範圍(本機電腦)內所有瀏覽器都視此為一個可連線的網站!
以上程式上有很多改進的空間,譬如: 1.應該加入發言者的名稱,就是簡單的登入表明身分,之後每次發言要加發言者名稱。 2.總和的留言內容會持續變大,可以設定限制總留言(Application("W"))的最高字數或行數。 3.這種機制沒有存檔功能,Application僅存在於記憶體,最終不會記錄到某個檔案,可加入存檔功能。 |
有關 DataSource 之SQL語法
宣告連結本站的資料庫 Dim Ads As New AccessDataSource("~/App_Data/db.mdb", "")
SQL指令語法範例:藍字為變數 新增:(3 欄資料) Ads.InsertCommand = "Insert Into [Table] ([C1], [C2], [C3]) Values('" + D1 + "', '" + D2 + "', '" + D3 + "')" Ads.Insert()
更新(編輯): Ads.UpdateCommand = "Update [Table] set [C1]='"+D1+"', [C2]='"+D2+"' Where [C0]='"+D0+"' Ads.Update()
Ads.DeleteCommand = "Delete From [Table] Where [C0] = '"+D0+"' Ads.Delete() |
使用ADO.NET的程式碼資料庫操作 for Access Database '1. Imports System.Data.OleDb '2.宣告資料庫連結物件 OleDbConnection
Dim Con As New OleDbConnection '3.宣告命令物件 OleDbCommand Dim Cmd As OleDbCommand = New OleDbCommand(SQL指令, Con) '4-1.產生讀取器物件 Dim R As OleDbDataReader = Cmd.ExecuteReader() R.Read '讀一行資料 '4-2.修改資料庫 '產生Insert, Delete or Update的SQL Command,如: Dim Cmd As OleDbCommand = New OleDbCommand(SQL指令, Con) Cmd.ExecuteNonQuery() '執行Command '5. 關閉資料庫連結 'Con.Close '指定『本網站』App_Data內資料庫的寫法可以是: Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|db.mdb" |
for Sql Database 1. Imports System.Data.SqlClient 2.宣告資料庫連結物件 OleDbConnection Dim Cs As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=" + Server.MapPath("App_Data\Database.mdf") + _
";;Integrated
Security=True;Connect Timeout=30;User Instance=True" 3.宣告命令物件 OleDbCommand Dim Cmd As SqlCommand = New SqlCommand(SQL指令, Con) 4-1.產生讀取器物件 Dim R As SqlDataReader = Cmd.ExecuteReader() R.Read '讀一行資料 4-2.修改資料庫 產生Insert, Delete or Update的SQL Command,如: Dim Cmd As SqlCommand = New SqlCommand(SQL指令, Con) Cmd.ExecuteNonQuery() '執行Command 5. 關閉資料庫連結 Con.Close() 指定『本網站』App_Data內資料庫的寫法可以是: AttachDbFilename=|DataDirectory|Database.mdf") |
使用 DataAdapter 與 Dataset(可省略Connection & Command) for Access database: Dim Adp As New OleDbDataAdapter(SQL指令, ConnectionString) for Sql database:
Dim Adp As New SqlDataAdapter(SQL指令,
ConnectionString) '資料叫用方式(例): ds.Tables(0).Rows(1).Item(1).ToString '資料叫用方式(Gridview):
GridView1.DataSource = ds
Example:
Dim SQL As String = "Select * From M Where
班級='幼教系一A'" |
音效播放器程式
Dim P As Media.SoundPlayer = New
Media.SoundPlayer(Server.MapPath("檔名.WAV")) |
網頁繪圖程式 Javascript 向量式繪圖模組教學與下載網站:http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm
|