C#與ASP.Net程式設計班

Similar documents
導讀 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# 程式

(Microsoft Word - wes _\246p\246\363\250\317\245\316LED\277O\305\343\245\334\252\254\272A.doc)

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

ii Vue Bootstrap 4 ES 6 Vue Vue Bootstrap 4 ES 6 Vue 2 vue html vue html vue Vue HTML 5 CSS ES 6 HTML 5 CSS Visual Studio Code h

本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

投影片 1

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD

(Microsoft Word - wes _\246p\246\363\250\317\245\316watchdog\250\276\244\356\265{\246\241\267\355\276\367.doc)

附件3:

信息

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与

多層次傳銷與獎金系統

01 用 ActionScript 3.0 開始認識 Flash CS3 Flash 是應用在網路上非常流行且高互動性的多媒體技術, 由於擁有向量圖像體積小的優點, 而且 Flash Player 也很小巧精緻, 很快的有趣的 Flash 動畫透過設計師的創意紅遍了整個網際網路 雖然很多人都對 Fl

计算机软件技术专业教学计划

穨series019-IA.PDF

附 件 : 2009 年 度 国 家 精 品 课 程 名 单 一 本 科 国 家 精 品 课 程 ( 以 学 科 为 序, 共 400 门 ) 序 号 一 级 学 科 二 级 学 科 课 程 名 称 学 校 名 称 负 责 人 1 哲 学 哲 学 类 马 克 思 主 义 伦 理 学 安 徽 师 范

投影片 1

Microsoft Word - 13院21号.doc

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 计 算 机 应 用 基 础 刘 升 贵 年 8 月

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

ASP.NET MVC Visual Studio MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\M

Microsoft PowerPoint - VB14.ppt

Microsoft Word zw

全 国 高 等 职 业 教 育 规 划 教 材 21 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用

2016 勒索軟體白皮書

投影片 1

CC213

iziggi

AutoCAD 用戶如何使用 ArchiCAD


epub83-1

The golden pins of the PCI card can be oxidized after months or years

使用手冊

untitled

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

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

Microsoft Word - cr_xi_supported_platforms_tw.doc

103 USB C#.NET VB6 100 USB USB (Open Source) LibUsbDotNet USB Library.NET LibUsbDotNet Visual Basic.NET 2010 Express VB.NET 劉政鑫 王嘉鴻 i

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

<4D F736F F F696E74202D20C8EDBCFEB2E2CAD4D1A7CFB0D7CAC1CF2E BBCE6C8DDC4A3CABD5D>

学 院 人 才 培 养 分 项 自 评 报 告 结 果 汇 总 表 主 要 评 估 指 标 关 键 评 估 要 素 自 评 等 级 1.1 学 校 事 业 发 展 规 划 合 格 1. 领 导 作 用 1.2 办 学 目 标 与 定 位 合 格 1.3 对 人 才 培 养 重 视 程 度 合 格 1

Microsoft PowerPoint - 07_WinProg.pptx

untitled

! ios Swift ios Swift Swift Swift app app framework framework Apple Cocoa Touch 用 Swift 學習 Cocoa Touch framework Swift Swift 4

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

建立Android新專案

校 企 双 赢 的 长 效 合 作 机 制 (5) 为 毕 业 生 提 供 就 业 信 息 及 就 业 指 导, 分 析 评 价 教 学 质 量 对 人 才 培 养 模 式 提 出 意 见 和 建 议 ( 二 ) 专 业 校 企 合 作 理 事 会 1. 成 员 单 位 : 行 业 协 会 合 作

價規一覽表 仁銓契約編號 : _275 區別 : 臺北市 新北市 桃園市 新竹縣 ( 市 ) 臺中市契約期間 :108/03/26~109/03/25 軟體標契約價是含稅 5% 與 IDB 服務費 1.5% 經濟部工業局 108 年第一次電腦軟體共同供應契約採購案號 _

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

第三篇 第 10 章 - 管理者登入第 11 章 - 更改網路商店 Logo 第 12 章 - 系統設定第 13 章 - 商品上架第 14 章 - 付款方式設定第 15 章 - 出貨方式設定第 16 章 - 特價商品 oscommerce 103

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

Microsoft Word _Java_術科 .doc

第 2 篇 经 文 : 创 27:1-29 这 段 经 文 呈 现 给 读 者 三 幕 剧 场 景 第 一 幕 (1-4 节 ): 预 备 祝 福 父 亲 以 撒 年 纪 老 迈, 不 知 道 哪 一 天 会 死 (1 节 ), 想 要 趁 着 活 着 的 时 候, 预 备 给 长 子 以 扫 祝

Microsoft Word - 书目文件.doc

公務員懲戒法實務及新制

大小通吃-糖尿病


(Microsoft Word - outline for Genesis 9\243\2721\243\25529.doc)

穨Shuk-final.PDF

招行2002年半年度报告全文.PDF

Microsoft Word _4

郑州大学(下).doc

厨房小知识(六)


游戏攻略大全(五十).doc

金融英语证书考试大纲

健康知识(二)

中南财经大学(二).doc

根据学校教学工作安排,2011年9月19日正式开课,也是我校迁址蓬莱的第一学期开学

山东大学(一).doc

主 编 : 杨 林 副 主 编 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 评 审 顾 问 : 杨 林 张 新 民 评 审 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 李 忆 萍 徐 如 雪 文 字 编 辑 : 曹 纯 纯 邹 兰 李 雅 清

最新文物管理执法全书(十四).doc

园林常识(二).doc

前 言 二 一 六 年 四 月 四 日, 兒 童 節, 誕 生 了 一 件 美 事 : 中 國 作 家 曹 文 軒 在 意 大 利 博 洛 尼 亞 國 際 童 書 展 榮 獲 國 際 安 徒 生 文 學 獎, 是 該 獎 創 設 六 十 年 來, 第 一 位 摘 桂 的 中 國 作 家, 意 義 重

湖 南 科 技 大 学

2009 陳 敦 德

切 实 加 强 职 业 院 校 学 生 实 践 能 力 和 职 业 技 能 的 培 养 周 济 在 职 业 教 育 实 训 基 地 建 设 工 作 会 议 上 的 讲 话 深 化 教 育 教 学 改 革 推 进 体 制 机 制 创 新 全 面 提 高 高 等 职 业 教 育 质 量 在

鸽子(三)

园林植物卷(十七).doc

临床手术应用(三)

Transcription:

.NET 與開發環境介紹 建國科技大學資管系 饒瑞佶 2016/4 V1

認識.NET

微軟的.NET(.NET Framework) 微軟新一代的系統與開發框架 強調網路 Network 功能.NET Framework

常聽到 ASP.NET Windows Form Web Form C#.NET VB.NET. 它們之間到底有什麼關係?

答案要回歸到系統開發本質 資訊系統主要分為三大類 桌機系統 (Desktop 單機或套裝程式 ) 微軟將此類系統稱為 Windows Form 網路系統 ( 網頁程式 網路程式 網路服務 ) 微軟將網頁程式類系統稱為 Web Form 或 ASP.NET 行動系統 ( 手機 App PDA) 以往開發這三類系統是獨立的開發架構 工具與程式語言 ( 依作業系統或伺服器而定 ) 微軟要打破這種開發的不便性, 希望統一開發架構與工具, 所以.NET Framework 因此誕生

.NET Framework 主要精神 主要針對 Windows 架構的系統 使用統一的開發框架開發不同類型的系統 使用統一的開發工具開發不同類型的系統 (MS Visual Studio ) 讓原 C++ 或 VB 的客戶能延續使用既有的語法, 再搭配統一的框架, 順利轉移到.NET Framework 上

抽絲剝繭 開發語言 ( 擇一 ) 系統類型 ( 擇一 ) MS 提供現成可用的函式庫 執行時需要

抽絲剝繭 依據系統類型與使用自己熟悉的語言開發系統, 就決定了前兩個部分

以本課程為例 C# 與 ASP.Net 程式設計

抽絲剝繭 透過物件導向程式設計方式取用微軟提供的現成函式庫, 大幅度縮短開發時間例如使用 ADO.NET 開發資料庫相關應用

抽絲剝繭 使用不同語言開發不同系統, 但卻使用同樣的函式庫, 最後要執行在不同的 Windows 作業系統版本上, 所以一定要有個轉換與轉譯者, 類似 Java Virtual Machine

所以 有時候在 Windows 上安裝程式時, 會先要求安裝.NET Framework 因為在 Windows XP 上預設完全沒有支援.NET Framework, 所以需要安裝才能執行由. NET Framework 開發的程式 或是.NET Framework 版本不夠新, 無法支援, 需要升級 目前最新版本為 4.6

抽絲剝繭 微軟提供 Visual Studio 這個開發工具來協助開發者完成.NET Framework 程式的開發

可以這樣比擬.NET Framework 類似 JAVA J2EE CLR 類似 Java Virtual Machine JAVA 可透過 Java Virtual Machine 讓 JAVA 程式執行在不同作業系統上 微軟透過 CLR 讓透過.NET Framework 開發的程式執行在不同版本的 Windows 作業系統上

回到最初的問題, 答案則是 ASP.NET Windows Form Web Form C#.NET VB.NET. 開發的系統類型 使用的程式語言希望與既有的 C# 或 VB 區隔, 所以後面都冠上.NET

重點是 現在使用.NET 來開發系統時, 選項會多到不知從何下手 但是萬變不離那三種型式 (Desktop Web Mobile), 只是.NET 用了不同名稱上市而已

來看看最新版的 VS 2015 Desktop Web Mobile 整合 Xamarin Mobile Web 整合 Xamarin 整合 Cordova

再談回本課程 ASP.NET 看到 ASP.NET, 可以知道是要開發網頁程式 跟 Web Form 在某種程度上是同樣的意義, 但不相等 那為何有 ASP.NET 這個稱呼? 因為在還沒有.NET Framework 出現時, 微軟是使用 ASP(Active Server Pages) 當作網頁程式設計技術, 到了.NET 則改稱為 ASP.NET, 但兩者的核心是完全不同的 以前使用 ASP.NET 開發, 項目分的很細, 現在統一一個稱為 One ASP.NET, 但再進去後還是要區分你要的類型

開發時完全無介面 ASP.NET 家族 本課程 有介面 無介面

現在或未來用 ASP.NET 開發時 會常聽到 framework 或框架這個名詞 框架類似外掛, 就是要擴充 ASP.NET 本來的功能 也就是框架本來不屬於微軟的 ASP.NET, 多半是 Open Source, 因為可以協助開發, 所以被微軟收錄 例如 Cordova 這個框架, 可以瞬間讓網頁變成具備有 RWD 功能的行動應用程式 App

被收錄的框架 (I) 非常多, 幾個比較有名的有 jquery/jquery Mobile 框架 (free): 協助原網頁開發人員可以將既有網頁轉換成適用在行動裝置上呈現的模式 Cordova 框架 (free) : 架構在 jquery/jquery Mobile 之上, 協助建構者進一步可以與行動裝置硬體層互動, ASP.NET 中可以看到 JavaScript 類型專案, 底下就可以建立 Cordova 專案

被收錄的框架 (II) AngularJS(free):Google 開發的前端應用程式框架, ASP.NET 中使用 SinglePage 來呈現 BootStrap 框架 (free): 由 Twitter 所開發, 為了建立自適應網站 (RWD) 而開發, ASP.NET 中大部分的專案都內建支援 BootStrap 前端應用程式與 JavaScript 現在越來越熱門

簡單的說 (I) 就是 ASP.NET 是一個很龐大的家族, 不能再簡單的說就是寫網頁 買書時要翻一下, 確認清楚裡面是談 ASP.NET 的哪個區塊 下次如果聽到有人說我這個是用 ASP.NET 開發的, 您可以再仔細詢問, 請問您是用 ASP.NET 的哪個模式與技術開發的?( 這才是看門道 )

更簡單的說 (I) 如果您沒學過程式與網頁 建議您從 Web Form 或是 MVC 開始學起 如果您學過網頁, 不熟程式 建議您從 Web Form + Cordova 框架開始學起

更簡單的說 (II) 如果您學過網頁, 也喜歡寫程式 如果只是要架構網站, 建議您從 MVC 開始學期 如果要架構 App, 建議您學 Xamarin( 雖然這不屬於 ASP.NET 家族 ) 如果您是老闆 建議您了解 ASP.NET 各部分可以做到那些事, 或想要解決那些問題

更簡單的說 (III) 如果您喜歡寫程式 建議您專心研究 MVC 如果您不喜歡寫程式 建議您研究 LightSwitch 如果您是中庸 建議您學 Web Form

所以, 本課程要談的是 本課程 但記得, 這些技術是可以混用的

本課程選用的程式語法 前面說明了本課程主題是學習網頁程式設計 開發語法則選用 C# 微軟針對.NET 所開發的新程式語言, 效能上與其在.NET 整合性較佳 真正的物件導向程式語言 使用人數眾多

開發工具 Visual Studio 付費版與免費版 (express 版本 ) 最新版本 Visual Studio 2015 本課程使用 Visual Studio 2013 Pro 版本 免費版本可以到微軟官網下載 https://www.visualstudio.com/downl oads/download-visual-studio-vs

Visual Studio 2013 express 直接分 Desktop 與 Web

Visual Studio 2013 express 本課程只需要 Express for Web 就可以

認識 Visual Studio 地表上最強大的 IDE

現在的 Visual Studio 可以開發 Desktop Web 與 App 種類程式 使用同樣的架構 使用同樣的語法 過去的經驗可以轉移 ( 例如以前寫網頁的可以用 Cordova 開發跨平台使用的 App) 真的是地表上最強大的 IDE

本課程使用的是 VS 2013

VS 2013 for Web

VS.NET 2013 它可以幫忙的, 盡量交給它, 例如 : 程式碼自動完成 自動排版 :Ctrl-K + Ctrl-D 程式碼片段等 適度修改部分設定 (Tools Options) 字體大小 行號

基本觀念與操作 VS.NET 2013 建立專案 ( 從這裡開始 ) 物件 ( 工具箱 ) 事件 屬性 新增項目 執行 除錯 發佈

VS IDE for ASP.NET 基本觀念 使用方案 (Solution) 與專案 (Project) 管理程式 使用物件導向方式撰寫程式 ( 物件分可見與不可見 ) 使用事件驅動撰寫程式 程式 介面與資料分離設計原則 (Code Behind 與 MVC) 就算使用不同語言開發不同類型系統, 開發介面幾乎是一致的, 許多物件的操作方式與語法也一致

開始建立專案 或

建立專案 One ASP.NET

這裡可以看到語言與系統類型 不同語言 不同類型

以前的 ASP.NET 選項 相對於 ONE ASP.NET

為何要保留 有些類型還保留在舊的 ASP.NET 中 例如網路服務 Web Service

再回到 One ASP.NET 選擇.NET Framework 版本 設定存檔專案名稱與位置

接著選擇專案範本 雖然這裡又分, 但有其實際意義, 例如我可以在空白專案中, 加入 MVC 或 Web API 架構 技術在這裡混用 這裡選擇空白 Empty 專案

完成建立新專案 編輯區

三個重要視窗 方案總管 工具箱目前是空的 屬性視窗 提示 : 如果視窗不見了, 可以從 View 選單中取回

先從方案總管談起 管理專案中所有的程式與資料 實際對應目錄中的檔案與資料夾 可以用檔案總管的方式來操作 ( 例如複製貼上資料檔案, 程式部分則不建議 ) 右圖是一個預設空專案的初始檔案狀態

可以開始建立網頁或程式 或

選擇網頁或程式類型 這裡先選擇 Web Form

建立 Web Form 後

一個網頁程式 會有 UI 使用者介面 介面上可能會有按鈕 輸入框等, 稱為物件或控制項 來自工具箱 物件會有樣式, 例如顏色大小等, 可透過屬性視窗設定 會有控制程式 使用 C# 撰寫 可能會有資料庫

先來看 UI 使用者介面 中間這塊就是, 可以使用不同模式進行編輯

UI 不同編輯模式 原始碼模式 ( 非程式 ) 預覽模式 分割模式

透過工具箱設計介面

工具箱 內有微軟提供不同分類與用途的介面物件 (Object), 大部分都是可視物件 這些物件又可稱為控制項 (Controls) 使用控制項可以簡化程式設計的複雜度 你也可以自己寫控制項, 這可以賣錢

VS 自動產生對應的原始碼 網頁介面其實就是由各位常聽到的 HTML 所組成的

畫面上有東西了, 怎麼控制 例如按鈕按下去, 畫面上顯示 按鈕被按下了 需要撰寫程式 透過事件驅動方式進行 (Code Behind) 進入程式碼視窗畫面進行撰寫

進入程式碼視窗畫面 透過既定事件或選擇需要的事件

進入事件 既定事件 在預覽模式畫面, 針對特定物件使用滑鼠左鍵快點兩下 選擇需要的事件 透過屬性視窗中的閃電符號圖示

撰寫程式 C# 有分大小寫 善用 VS 提供的自動完成功能 善用註解, // 或 /* 物件. 屬性 ; 或物件. 方法 ( 參數 );

撰寫程式 事件 物件 方法 參數 這行是我們寫的

事件 -Event 事件指的是使用者在介面上透過滑鼠或鍵盤操作所導致系統回應的動作稱為事件 例如使用滑鼠點按鈕, 就會產生點擊 (click) 事件 畫面上可能有很多按鈕, 所以每個按鈕有一個專有的名字, 屬於它的事件段落就被命名為 按鈕名稱 _ 事件, 例如 Button1_Click

事件中的 object sender 與 EventArgs e 當使用者有動作時,.NET 中有一個叫做 EventHandler 的傢伙, 他會告訴你 ( 主程序 ), 有一些事情發生了 包括這個事情是誰產生 ( 物件 ) 的呢? 是某個 object 導致的, 它用 Sender 來表示 這個事情是什麼事呢?e 的內容就是事情的內容

整體程式碼架構 物件導向架構 引用區 類別與繼承 事件 方法或函式

事件 方法或函式 修飾詞決定開放程度 回傳值型態 Void 表示不回傳 事件或方法名稱 決定範圍程式碼寫在這裡面也會決定變數 ( 物件 ) 可見範圍 參數不一定有 有沒有發現顏色不同

執行看看 選擇你要使用的瀏覽器 這串是什麼?

執行狀態時的 VS 結束或暫停 監看或錯誤訊息視窗

好用的 Page Inspector 可以協助偵錯

整個 ASP.NET 程式設計流程 建立專案 設計 UI 撰寫程式 執行程式 除錯

如果有多個 webform 誰最先被執行? 設定起始頁面

Any Question?

心中可能的疑問 我怎麼知道程式碼要這樣寫? 工具箱內的物件到底怎麼用? UI 畫面要怎麼設計與排版? 寫完的專案要怎麼變成網站? 遭遇戰 碰到再來講 再來問 再來查資料