Introduction to ASP.NET Speaker: 周仲韓
Chat Room DEMO http://ggg.twgg.org/chat_demo/
What is .NET http://ggg.twgg.org/chat_demo/
Why ASP.NET 1. 支援多種語言(VB.NET, C#, …) 2. 事件驅動 (Event Driven) 3. 網頁控制項
ASP.NET 環境安裝 Windows OS .NET Framework IIS Server Microsoft SQL Server 2005 (Express) Microsoft Visual Studio 2005 (2008)
ASP.NET 開發平台導覽 IIS Server Microsoft SQL Server 2005 (Express) Microsoft Visual Studio 2005 (2008) <DEMO>
ASP.NET 網頁運作流程 Init Load Post back event handling Render Save State 初始化控制項 判斷是否是Post back Load 將ViewState載入到控制項中 Post back event handling 處理控制項觸發的事件 Render 把控制項轉換成對應的HTLM Tag Save State 儲存ViewState Dispose Web Request HTML Stream
ASP.NET 網頁運作流程 <DEMO> http://GGG.twgg.org/web_test/Ex1_page_event.aspx http://GGG.twgg.org/web_test/Ex2_page_event_2.aspx
ASP.NET 頁面結構與語法介紹 ASP.NET 可以使用多種語言撰寫後端程式, 我們以VB.NET語言當做範例。 網頁附檔名為 .aspx 每個網頁包含一個.aspx檔與一個 .aspx.vb檔
ASP.NET 頁面結構與語法介紹 .aspx HTML 標籤 控制項標籤 包含一個form, 所有控制項都擺 在form中 .vb 所有後端程式碼 事件 連接資料庫 …….
ASP.NET 頁面結構與語法介紹 變數型態 宣告 IF-Else For-loop Function Sub
ASP.NET 頁面結構與語法介紹 變數型態 Integer Single Double String 其他物件
ASP.NET 頁面結構與語法介紹 宣告 宣告一個整數 i Dim i As Integer 宣告一個字串 str Dim str As String 宣告一個包含10個double的陣列 d Dim d(10) As Double 宣告一個寫檔的物件 Dim sw As New System.IO.StreamWriter("FileName.txt")
ASP.NET 頁面結構與語法介紹 If Else Dim x, y As Integer x = 160 y = 150 If x > y Then Response.Write("x > y <br>") ElseIf x = y Then Response.Write("x = y <br>") Else Response.Write("x < y <br>") End If
ASP.NET 頁面結構與語法介紹 For-loop Dim i As Integer Dim j As Integer For i = 0 To 10 For j = i To 0 Step -1 Response.Write("*") Next Response.Write("<br>")
ASP.NET 頁面結構與語法介紹 Function & Sub Function gcd(ByVal a As Integer, ByVal b As Integer) As Integer If b = 0 Then gcd = a Exit Function End If gcd = gcd(b, a Mod b) End Function
ASP.NET 頁面結構與語法介紹 Function & Sub Sub html_format(ByVal str As String) str = str.Replace(vbCrLf, "<br>") str = str.Replace(">", ">") str = str.Replace("<", "<") Response.Write(str) End Sub
ASP.NET 控制項開發範例 常用控制項: Label, Button, TextBox RadioButton, CheckBox ListBox, DropDownList DataGrid
ASP.NET 控制項開發範例 Label Button TextBox 顯示文字,Label.Text = 顯示的字串 可透過 .ForeColor 改變顏色 可透過 .Font 改變字型 Button 雙擊Button會建立 Button.Click 的事件 TextBox 顯示(輸入)文字,TextBox.Text 可以設定初始字 串 http://ggg.twgg.org/web_test/Ex3_basic_components.aspx
ASP.NET 控制項開發範例 RadioButton, CheckBox Radio可以設定GroupName使其只能單選 AutoPostBack屬性設定為True時,可以讓元件被 點選後自動post back回server Checked屬性可以判斷(或設定)該元件是否被點選 http://ggg.twgg.org/web_test/Ex4_radio_check.aspx
ASP.NET 控制項開發範例 ListBox, DropDownList ListBox.Items.Add(“....”) 可以新增項目 AutoPostBack屬性與前者相同 可以把從Database撈出來的資料表bind上去 ListBox.DataSource = [DataTable] ListBox.DataTextField = [Column name] ListBox.DataBind() ListBox1.SelectedIndex 回傳被選到的索引值 http://ggg.twgg.org/web_test/Ex5_list.aspx http://ggg.twgg.org/web_test/Ex6_list_bind_db.aspx
ASP.NET 控制項開發範例 GridView 可以把從Database撈出來的資料表bind上去 從介面可以設定其外觀,也可以修改其屬性 GridView.DataSource = [DataTable] GridView.DataBind() 從介面可以設定其外觀,也可以修改其屬性 可以新增指令的資料行,如按鈕。GridView提供 事件並會將觸發的Row之index當作參數傳入 http://GGG.twgg.org/web_test/Ex7_gridview.aspx
ASP.NET 控制項開發範例 其他控制項 Calendar: 提供使用者選擇日期 Panel: 顯示/隱藏網頁的一部分 http://GGG.twgg.org/web_test/Ex8_calendar.aspx Panel: 顯示/隱藏網頁的一部分 http://GGG.twgg.org/web_test/Ex9_panel.aspx FileUpload: 提供上傳檔案的方法 http://GGG.twgg.org/web_test/Ex10_fileupload.aspx
AJAX.NET 開發範例 頁面上必須有一個ScriptManager 建立UpdatePanel,裡面放入ContentTemplate ScriptManager的功能是傳送Javascript到browser 建立UpdatePanel,裡面放入ContentTemplate 在ContentTemplate中放入Timer以及其他想要 動態更新的控制項 Timer.Tick事件發生時Panel就會更新 http://GGG.twgg.org/web_test/Ex11_ajax.aspx
AJAX.NET 開發範例 包含Timer的UpdatePanel當Timer.Tick的時後 就會更新 建立另外一個UpdatePanel(假設原本的叫P1,新的 叫P2) 設定P1的UpdateMode="Conditional“ 把Timer丟在P2,並且在Timer.Tick中檢查條件,若 符合更新條件則呼叫P1.Update() http://GGG.twgg.org/web_test/Ex12_ajax_2.aspx http://GGG.twgg.org/web_test/Ex13_ajax_3.aspx