Web Form 表單與事件處理

Similar documents
Microsoft PowerPoint - ASP_NET_04

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

Microsoft PowerPoint - ASP_NET_02

untitled

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

IsPostBack 2

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

Advanced ASP.NET Controls

投影片 1

Chapter 16 集合

多層次傳銷與獎金系統

Microsoft Word - Ch06.docx

ASP.NET基礎與開發環境的建立

7 DataSet DataSet TableColumnDataSet DataSet NOTE DataSet DataAdapterDataSetDataAdapter DataSet DataSetDataSetDataSet NorthwindDataSet DataSet Dim Nor

untitled

untitled

untitled

Microsoft PowerPoint - asp06.ppt

Microsoft PowerPoint - VB14.ppt

Microsoft Word - 最新正文.doc

Microsoft PowerPoint - asp07.ppt

untitled

Microsoft Word - AEL CH07

信息

Microsoft Word - CH07_P36


超連結 03 URI (Universal Resource Identifier) URI Web URL (Universal Resource Locator) URI URI :// [: ]/ [/ 2...]/

untitled

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

投影片 1

<img>

1-1

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

2.4 Selenium Python Selenium Selenium Selenium Selenium pip install selenium Chrome WebDriver Google Chrome (Linux, Mac, Windows) Chrome WebDriv

投影片 1

Microsoft Word - administrative-law-08.doc

「西醫基層總額支付委員會《第28次委員會議紀錄

untitled

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

1. 2. Flex Adobe 3.

untitled

Chapter V.S. PC

學 習 目 標 1. 了 解 有 計 畫 的 運 動 之 前, 實 施 身 體 檢 查 的 重 要 性 2. 了 解 熱 身 與 緩 和 運 動 可 以 預 防 運 動 傷 害 3. 了 解 包 紮 護 具 裝 備 與 場 地 器 材 的 維 護, 可 以 避 免 傷 害 發 生 4. 了 解 食

天仁期末個人報告1.PDF

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

Microsoft Word 级第二专业学士学位培养计划.doc

WS_With_ASP.ppt

untitled

第一章

國立臺東高級中學102學年度第一學期第二次期中考高一國文科試題

Microsoft Word - Sunday

鎶ョ焊0

秘密大乘佛法(下)

Page 2 of 12

<D2B0D0C4D3C5D1C52DC8CED6BEC7BF202D20BCC7CAC2B1BE>

!! :!!??!!?!??!!!... :... :'?'?! :' ' :'?' :'?' :'!' : :? Page 2

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

HTML5設計實務

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

XXXXXXXX

Microsoft Word - ch04.doc

RUN_PC連載_10_.doc

05 CHAPTER Information.IsNumeric ( ) Information.IsDate ( ) True False Date Date True False Y Y Information.IsArray ( ) True False Y Information.IsErr

ok = 1 142

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

封面-12

PowerPoint 簡報

untitled

VB程序设计教程

1-6 Access 2016 實力養成暨評量解題秘笈 102. 書籍與作者 Step1 按 建立 索引標籤 資料表 群組的 資料表設計 按鈕 Step2 由上而下分別建立下列欄位並設定資料類型 : 欄位名稱 : ID, 資料類型 : 自動編號 欄位名稱 : BName, 資料類型 :

我 们 再 看 到 尼 西 米 记, 也 会 发 现 当 时 神 的 百 姓 有 一 颗 单 纯 受 教 的 心, 他 们 单 纯 的 听 从 神 的 教 导, 敬 畏 遵 从 神 的 训 诲 当 他 们 明 白 自 己 的 罪 孽 时, 个 个 俯 伏 在 地, 为 罪 痛 悔 哭 泣 在 整 个

ACI pdf

Microsoft PowerPoint - 07_WinProg.pptx

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

Microsoft Word - 1HF12序.doc

Microsoft Word - 讀報看科普─人體篇_橫_.doc

鍟嗗搧瑙傚療鈥㈤挗鏉

席 远 杨 一 人 了, 正 当 她 开 枪 时 却 发 现 子 弹 没 了 该 死, 只 能 赤 手 空 拳 了 洛 水 云 与 席 远 杨 交 起 手 来, 洛 水 云 出 手 招 招 致 命 想 那 席 远 杨 也 不 是 泛 泛 之 辈, 很 快 掌 握 了 洛 水 云 出 招 路 数 看

閱 讀 素 材 V.S 分 組 方 式 的 差 異 化 教 學 工 具 表 班 級 :( ) 閱 讀 素 材 V.S 分 組 方 式 獨 立 閱 讀 夥 伴 閱 讀 ( 同 質 性 ) 夥 伴 閱 讀 ( 異 質 性 ) 友 善 陪 伴 虛 心 受 教 國 語 日 報 新 聞 生 活 文 藝 兒 童

Microsoft Word - 2B802內文.doc

東區校園中法治教育種子師資教學研習營

untitled

Excel VBA Excel Visual Basic for Application

APA Preliminaries Text Reference 1. Cover Page 2. Title Page 3. Signature Page 4. Advisor s recommendation letter 5. Approval page 6. Copyri

Microsoft Word - 2AF63內文.doc

大连软~1

Visual Basic D 3D

untitled

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

4-4

5-1 nav css 5-2

第一章 章标题-F2 上空24,下空24


PowerBuilder 8開發技術講座_3_.PDF

职 位 类 别 : 测 试 工 程 师 工 作 经 验 或 实 习 经 历 : 不 限 岗 位 要 求 : 1. 本 科 及 其 以 上 学 历, 计 算 机 相 关 专 业 2014 届 毕 业 生 ; 2. 实 习 时 间 要 求, 尽 量 一 周 五 个 工 作 日 ; 3. 熟 悉 Wind

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

Microsoft PowerPoint - vb.net2.ppt

谷, 你 一 定 会 更 敬 畏 上 帝 的 美 善 和 奇 妙, 不 过, 我 要 跟 你 分 享 一 件 能 与 之 媲 美 的 事, 这 是 发 生 在 印 度 贫 民 窟 当 中 的 见 证, 有 一 位 姐 妹, 一 年 前 她 从 未 听 说 过 基 督, 他 们 的 生 活 很 不 容

Transcription:

第 4 章 Web Form 表單與事件處理 第 4 章 Web Form 表單與事件處理 4-1 事件處理的基礎 4-2 ASP.NET 網頁與 Page 物件 4-3 ASP.NET 的伺服端控制項 4-4 資料輸出控制項 4-5 送出資料的控制項 4-6 圖片和超連結控制項 http://www1.chihlee.edu.tw/teachers/chienhua/ 2 4-1 事件處理的基礎 4-1-1 事件的基礎 4-1-2 建立事件處理程序 4-1-3 事件處理程序的參數列 4-1-4 共用事件處理程序 4-1-1 事件的基礎 - 說明 事件 (Event) 是在執行應用程式時, 滑鼠或控制項載入等操作所觸發的一些動作 例如 : 將應用程式視為一輛公共汽車, 公車依照行車路線在馬路上行駛, 事件是在行駛過程中發生的一些動作, 如下所示 : 看到馬路上的紅綠燈 乘客上車 投幣和下車 動作發生時可以觸發對應事件, 當事件產生後, 接著針對事件進行處理 例如 : 看到站牌有乘客準備上車時, 乘客上車的事件就觸發, 司機知道需要路邊停車和開啟車門 3 4

4-1-1 事件的基礎 - 委託事件處理模型 Web Form 表單的事件處理是一種於委託事件處理模型, 分為引發事件的 事件來源 (Event Source) 控制項和處理事件的 傾聽者 (Listener), 如下圖所示 : 4-1-2 建立事件處理程序 - 方法一 : 建立預設事件處理程序 在 VS Express for Web 編輯視窗的設計檢視按二下控制項, 可以建立預設的事件處理程序, 常用控制項物件的預設事件處理程序, 如下表所示 : 5 6 4-1-2 建立事件處理程序 - 方法二 : 原始檔檢視建立事件處理程序 請在 VS Express for Web 編輯視窗的 物件 欄, 選取控制項物件後, 就可以在 事件 欄選擇指定的事件, 例如 :Page 物件的 PreRender 事件, 如下圖所示 : 選事件 4-1-2 建立事件處理程序 - 方法三 : 在屬性視窗建立事件處理程序 ASP.NET 網頁如果使用內嵌程式碼分割, 請在 屬性 視窗上方選取控制項物件後, 切換至事件清單, 就可以在下方 事件 欄按二下來建立事件處理程序, 如下圖所示 : 選物件 在上方工具列按 事件 鈕, 切換顯示此物件的事件清單 7 8

4-1-3 事件處理程序的參數列 事件處理程序預設是使用控制項名稱加上 _ 底線後的事件名稱為名, 如下所示 : Protected Sub Button1_Command(sender As Object, _ e As CommandEventArgs) End Sub 在事件處理程序的參數列有 2 個參數, 其說明如下所示 : 參數 sender: 此參數是 Object 資料型別, 代表觸發此事件的物件 參數 e: 它是 EventArgs 事件物件, 可以取得進一步的事件資訊 4-1-4 共用事件處理程序 - 說明 在 Web Form 表單新增的多個控制項可以共用同一個事件處理程序, 因為控制項的事件處理程序內容可能都大同小異, 我們可以建立共用的事件處理程序, 用來處理不同控制項所產生的事件 例如 : 在 Web Form 表單上擁有 Button1 和 Button2 兩個按鈕控制項, 依照之前的範例, 我們需要建立 Button1_Click() 和 Button2_Click() 兩個事件處理程序 事實上, 我們可以只建立 Button1_Click() 事件處理程序, 讓它同時處理 2 個按鈕的 Click 事件 9 10 4-1-4 共用事件處理程序 - 指定共用的事件處理程序 指定 Button2 也使用同一個事件處理程序, 請切換至設計檢視, 選 Button2 按鈕, 然後在 屬性 視窗上方選閃電鈕, 切換至 Button2 控制項的事件清單, 如下圖所示 : 指定事件處理程序為 Button1_Click 4-1-4 共用事件處理程序 - 判斷產生事件的控制項 因為程序處理 2 種不同控制項的事件, 為了知道事件是由哪一個控制項所產生, 我們需要使用 CType() 函數, 將參數 sender 轉換成控制項物件, 如下所示 : Dim btnbutton As Button btnbutton = CType(sender, Button) 上述程式碼宣告 Button 物件變數後, 使用 CType() 函數, 將參數轉換成 Button 物件, 函數第 2 個參數是轉換成的型別, 可以是資料型別或類別名稱 11 112

4-1-4 共用事件處理程序 - 範例網站 ASP.NET 網站 :Ch4-1-4 在 ASP.NET 網頁建立 2 個按鈕控制項共用同一個事件處理程序 Button1_Click(), 控制項模擬 2 張樸克牌, 其點數是由亂數產生, 按一下可以顯示點數, 可以猜測 2 張牌中, 哪一張牌的點數比較大, 如下圖所示 : 4-2 ASP.NET 網頁與 Page 物件 - 說明 在 VS Express for Web 建立的每一頁 ASP.NET 網頁, 在編譯後就是建立成 Page 物件 Page 物件是一個控制項的容器, 換句話說, 我們在 ASP.NET 網頁所新增的控制項就是新增在 Page 物件, 像是在一個大盒子中放入其他控制項的小盒子, 如下圖所示 : 13 14 4-2 ASP.NET 網頁與 Page 物件 - 屬性 Page 物件的常用屬性 4-2 ASP.NET 網頁與 Page 物件 - 事件 Page 物件的常用事件 15 16

4-2 ASP.NET 網頁與 Page 物件 - 範例網站 ASP.NET 網站 :Ch4-2 在 ASP.NET 網頁建立 Page 物件的事件處理程序, 以便在 Label 控制項顯示 Page 物件的事件觸發順序, 並且指定 Page 物件的 Title 屬性在瀏覽器上方顯示網站名稱的標題文字, 如下圖所示 : 4-3 ASP.NET 的伺服端控制項 4-3-1 伺服端控制項的基礎 4-3-2 HTML 控制項 4-3-3 Web 控制項 17 18 4-3-1 伺服端控制項的基礎 - 種類 ASP.NET 伺服端控制項的語法是使用 HTML 標籤或 XML 語法, 如下所示 : HTML 控制項 : 對應 System.Web.UI.HtmlControls 名稱空間的物件, 這些控制項直接對應 HTML 標籤, 只是新增 id 和 runat 屬性 Web 控制項 : 對應 System.Web.UI.WebControls 名稱空間的控制項物件, 它是使用 asp 字頭的 XML 標籤 4-3-1 伺服端控制項的基礎 - 說明 每一個控制項都是.NET Framework 物件, 透過 CLR 執行時, 控制項會轉換成 HTML 標籤, 例如 : TextBox 控制項標籤, 如下所示 : <asp:textbox id="name" runat="server"/> 在執行後就會轉換成 HTML 表單標籤 <input>, 如下所示 : <input type="text" name="name" id="name"/> 19 200

4-3-2 HTML 控制項 HTML 控制項是為了方便將現有 HTML 標籤轉換成伺服端控制項, 因為這些控制項都擁有對應的 HTML 標籤, 如下所示 : <input type="text" id="name" size ="20" runat="server"> 上述標籤和 HTML 標籤並沒有什麼不同, 其差異只在 runat 和 id 兩個屬性, 其說明如下表所示 : 4-3-3 Web 控制項 - 說明 Web 控制項是一組和 HTML 標籤完全無關的控制項, 其語法是使用 XML 標籤的寫法, 如下所示 : <asp:textbox id="name" width="200px" runat="server"/> 上述 Web 控制項是使用 asp 字頭的 XML 標籤, 在 : 符號後是控制項種類, 以此例是 TextBox 控制項,id 屬性為控制項名稱,runat 屬性值 server, 指明是位在伺服端處理 211 222 4-3-3 Web 控制項 - 常用控制項 4-3-3 Web 控制項 - 共同屬性 233 244

4-4 資料輸出控制項 4-4-1 Label 標籤與 Literal 文字值控制項 4-4-2 切換顯示的 Panel 控制項 4-4-1 Label 標籤與 Literal 文字值控制項 - 說明 Label 標籤控制項可以在網頁顯示文字內容, 它會轉換成 HTML 的 <span> 標籤 Literal 文字值控制項類似 Label 控制項, 只是沒有樣式屬性, 換句話說, 我們只能單純顯示文字內容 255 266 4-4-1 Label 標籤與 Literal 文字值控制項 - 新增控制項 在 工具箱 視窗的 標準 區段, 按二下 Label 控制項, 就可以在游標位置, 或拖拉至 <div> 標籤來新增 Label 標籤控制項, 選 Literal 控制項來新增 Literal 文字值控制項 4-4-1 Label 標籤與 Literal 文字值控制項 - 屬性 Label 和 Literal 控制項的常用屬性 277 288

4-4-1 Label 標籤與 Literal 文字值控制項 - 範例網站 ASP.NET 網站 :Ch4-4-1 在 ASP.NET 網頁新增 Label 和 Literal 控制項後, 指定 Label 控制項前景色彩為紅色後, 使用 Page_Load() 事件處理程序指定 Literal 控制項的初值和 Label 控制項的背景色彩, 如下圖所示 : 4-4-2 切換顯示的 Panel 控制項 - 說明 Panel 控制項如同是一個容器, 它的功能類似 HTML 標籤的 <div>, 其主要的目的是群組其他控制項且設定樣式, 以便建立網頁的輸出區域來控制網頁內容的顯示, 或執行切換顯示部分的網頁內容 Panel 控制項 299 30 4-4-2 切換顯示的 Panel 控制項 - 新增控制項 在 工具箱 視窗選 Panel 控制項, 然後拖拉至 <div> 標籤來新增控制項 4-4-2 切換顯示的 Panel 控制項 - 屬性 Panel 控制項的常用屬性 31 32

4-4-2 切換顯示的 Panel 控制項 - 切換顯示 在 ASP.NET 網頁可以使用 If 條件判斷 Visible 屬性值來切換顯示 Panel 控制項, 如下所示 : If pnlswitch.visible = True Then pnlswitch.visible = False Else pnlswitch.visible = True End If 4-4-2 切換顯示的 Panel 控制項 - 範例網站 ASP.NET 網站 :Ch4-4-2 在 ASP.NET 網頁新增 Panel 控制項建立網頁顯示區域, 內含 Label 控制項, 提供按鈕可以切換 Panel 控制項的顯示, 如下圖所示 : 33 34 4-5 送出資料的控制項 - 說明 ASP.NET 送出資料的控制項, 也就是三種按鈕控制項, 其說明如下所示 : Button 按鈕控制項 : 顯示一個按鈕, 按一下, 就可以執行指定的事件處理程序 LinkButton 超連結按鈕控制項 : 其功能如同 Button 控制項, 只是顯示外觀是超連結文字 ImageButton 圖片按鈕控制項 : 其功能也如同 Button 控制項, 只是其顯示外觀是一張圖片 4-5 送出資料的控制項 - 新增 Button 控制項 在 工具箱 視窗選 Button 控制項, 然後拖拉至表格的第 1 個儲存格 Button 控制項 35 36

4-5 送出資料的控制項 - Button 控制項屬性 Button 控制項的相關屬性說明, 如下表所示 : 4-5 送出資料的控制項 - 新增 LinkButton 控制項 請在 工具箱 視窗選 LinkButton 控制項, 然後拖拉至表格的第 2 個儲存格, 指定控制項 Text 屬性為 顯示使用者, 如下圖所示 : LinkButton 控制項 LinkButton 控制項的相關屬性和 Button 控制項相同 37 38 4-5 送出資料的控制項 - 新增 ImageButton 控制項 在 工具箱 視窗選 ImageButton 控制項, 然後拖拉至表格的第 3 個儲存格, 在選擇圖片後, 可以建立 ImageButton 控制項, 如下圖所示 : 4-5 送出資料的控制項 - ImageButton 控制項屬性 ImageButton 控制項的相關屬性和 Button 控制項相似, 只是沒有 Text 屬性, 其說明如下表所示 : ImageButton 控制項 39 40

4-5 送出資料的控制項 - 範例網站 ASP.NET 網站 :Ch4-5 在 ASP.NET 網頁新增 Button LinkButton 和 ImageButton 控制項後, 分別建立事件處理程序在 Label 控制項輸出訊息文字, 如下圖所示 : 4-6 圖片和超連結控制項 4-6-1 Image 圖片控制項 4-6-2 HyperLink 超連結控制項 41 42 4-6-1 Image 圖片控制項 - 說明 Image 圖片控制項可以顯示點陣圖格式 GIF PNG 或 JPG 等圖檔的內容, 如下圖所示 : 4-6-1 Image 圖片控制項 - 新增 Image 控制項 Image 圖片控制項可以用來顯示點陣圖格式 GIF 或 JPG 等圖檔的內容 請在 工具箱 視窗的 標準 區段, 選 Image 控制項, 就可以拖拉至表格的第二列, 然後拖拉放大尺寸 43 44

4-6-1 Image 圖片控制項 -Image 控制項屬性 Image 圖片控制項的常用屬性 4-6-1 Image 圖片控制項 - 範例網站 ASP.NET 網站 :Ch4-6-1 在 ASP.NET 網頁建立簡易的秀圖程式, 當新增 Image 控制項後, 按一下上方按鈕, 可以在下方顯示不同圖檔的圖片, 如右圖所示 : 45 46 4-6-2 HyperLink 超連結控制項 - 新增 HyperLink 控制項 HyperLink 超連結控制項可以用來在 ASP.NET 網頁顯示超連結文字或圖片, 它和 LinkButton 控制項雖然外觀相同, 不過, 它並不會送出資料至 Web 伺服器 請在 工具箱 視窗的 標準 區段, 選 HyperLink 控制項, 就可以拖拉至表格的第一列 4-6-2 HyperLink 超連結控制項 - HyperLink 控制項屬性 HyperLink 超連結控制項的常用屬性 47 48

4-6-2 HyperLink 超連結控制項 - 範例網站 ASP.NET 網站 :Ch4-6-2 在 ASP.NET 網頁新增圖片超連結來連接中華電信網站, 和一個文字超連結連接旗標公司的網站, 如下圖所示 : Reading Assignment Chapter 4 of ASP.NET 4.5 網頁製作徹底研究, 陳會安 49 Slides developed by Chien-Hua Tsai 50