Download presentation
Presentation is loading. Please wait.
1
Introduction to ASP.NET
Speaker: 周仲韓
2
Chat Room DEMO
3
What is .NET
4
Why ASP.NET 1. 支援多種語言(VB.NET, C#, …) 2. 事件驅動 (Event Driven) 3. 網頁控制項
5
ASP.NET 環境安裝 Windows OS .NET Framework IIS Server
Microsoft SQL Server 2005 (Express) Microsoft Visual Studio 2005 (2008)
6
ASP.NET 開發平台導覽 IIS Server Microsoft SQL Server 2005 (Express)
Microsoft Visual Studio 2005 (2008) <DEMO>
7
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
8
ASP.NET 網頁運作流程 <DEMO>
9
ASP.NET 頁面結構與語法介紹 ASP.NET 可以使用多種語言撰寫後端程式, 我們以VB.NET語言當做範例。
網頁附檔名為 .aspx 每個網頁包含一個.aspx檔與一個 .aspx.vb檔
10
ASP.NET 頁面結構與語法介紹 .aspx HTML 標籤 控制項標籤 包含一個form, 所有控制項都擺 在form中 .vb
所有後端程式碼 事件 連接資料庫 …….
11
ASP.NET 頁面結構與語法介紹 變數型態 宣告 IF-Else For-loop Function Sub
12
ASP.NET 頁面結構與語法介紹 變數型態 Integer Single Double String 其他物件
13
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")
14
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
15
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>")
16
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
17
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
18
ASP.NET 控制項開發範例 常用控制項: Label, Button, TextBox RadioButton, CheckBox
ListBox, DropDownList DataGrid
19
ASP.NET 控制項開發範例 Label Button TextBox 顯示文字,Label.Text = 顯示的字串
可透過 .ForeColor 改變顏色 可透過 .Font 改變字型 Button 雙擊Button會建立 Button.Click 的事件 TextBox 顯示(輸入)文字,TextBox.Text 可以設定初始字 串
20
ASP.NET 控制項開發範例 RadioButton, CheckBox Radio可以設定GroupName使其只能單選
AutoPostBack屬性設定為True時,可以讓元件被 點選後自動post back回server Checked屬性可以判斷(或設定)該元件是否被點選
21
ASP.NET 控制項開發範例 ListBox, DropDownList ListBox.Items.Add(“....”) 可以新增項目
AutoPostBack屬性與前者相同 可以把從Database撈出來的資料表bind上去 ListBox.DataSource = [DataTable] ListBox.DataTextField = [Column name] ListBox.DataBind() ListBox1.SelectedIndex 回傳被選到的索引值
22
ASP.NET 控制項開發範例 GridView 可以把從Database撈出來的資料表bind上去 從介面可以設定其外觀,也可以修改其屬性
GridView.DataSource = [DataTable] GridView.DataBind() 從介面可以設定其外觀,也可以修改其屬性 可以新增指令的資料行,如按鈕。GridView提供 事件並會將觸發的Row之index當作參數傳入
23
ASP.NET 控制項開發範例 其他控制項 Calendar: 提供使用者選擇日期 Panel: 顯示/隱藏網頁的一部分
Panel: 顯示/隱藏網頁的一部分 FileUpload: 提供上傳檔案的方法
24
AJAX.NET 開發範例 頁面上必須有一個ScriptManager 建立UpdatePanel,裡面放入ContentTemplate
ScriptManager的功能是傳送Javascript到browser 建立UpdatePanel,裡面放入ContentTemplate 在ContentTemplate中放入Timer以及其他想要 動態更新的控制項 Timer.Tick事件發生時Panel就會更新
25
AJAX.NET 開發範例 包含Timer的UpdatePanel當Timer.Tick的時後 就會更新
建立另外一個UpdatePanel(假設原本的叫P1,新的 叫P2) 設定P1的UpdateMode="Conditional“ 把Timer丟在P2,並且在Timer.Tick中檢查條件,若 符合更新條件則呼叫P1.Update()
Similar presentations