SlideShare a Scribd company logo
ASP.NET MVC 4 WEB課程
時間:2016/3/23
報告者:賴怡君
大綱
• Razor
– 基本介紹
– helper
• Model
2
Razor (1/2)
• Razor
– 更輕量化且直覺的語法,減少在 View 中輸出資料時使用的語法,
讓 View 的指令更加簡潔,
– 例如使用 "@" + 變數名稱 的方式,就可以輸出程式中的變數,不
必再用 <% %> 來設定。如果程式有多行,可以使用 @{ } 的方式
來設定。
– 容易學習。
– 可相容於現在的程式語言 (ex: C#)。
– 透過 Visual Studio,可享有 Intellisense 能力。
– 可混用 HTML 與程式語言指令。
• Razor基本語法
– 註解方法 @* *@
– 程式區塊 @{ }@
– 取得變數與內容 @ViewBag.Title
3
Razor(2/2)
• 程式碼
@{
int i=0;
}
• Html Encoded
@Model.ID
• 混合程式碼
@foreach (var item in collection)
{
<tr>
<td> @item.ID </td>
</tr>
}
4
Helper - 表單(1)
• 表單(form)
5
Helper - 表單(2)
• 表單(form)
6
Helper - 表單(3)
• @using (Html.BeginForm("Index", “Student",
FormMethod.Post, new { enctype = "multipart/form-data" ,
id="CityId" })){ }
• 四個參數:Action , Controller , Form Method , 其他屬性
7
Action Controller
Method(Get or Post)
Other Attribute
Helper - 表單(4)
• @using (Html.BeginForm(“Create", “Student",
FormMethod.Post, new { enctype = "multipart/form-data" ,
id="CityId" })) { }
• <form action="/Student/Create" enctype="multipart/form-
data" id="CityId" method="post">
8
Helper - 表單(5)
• 加入送出按鈕
– <input type="submit" value="Create" />
9
Controller裡的Create Action
Helper - 表單(6)
• @using (Html.BeginForm(“Create", “Student",
FormMethod.Post, new { enctype = "multipart/form-data" ,
id="CityId" })) { }
10
Helper - 表單(7)
• 一般使用方法
– @Html.TextBox("name","1")
– <input id="name" name="name" type="text"
value="1">
11
Helper - 表單(8)
• 一般使用方法
– @Html.TextBox("name", "1", new { Style="color:red;" })
– <input id="name" name="name" type="text"
value="1" style="color:red;">
12
NAME VALUE Other attribute
Helper - 表單(9)
• 一般使用方法
– @Html.TextBox("name", "1", new { Style="color:red;" })
13
Helper - 表單(10)
• 一般使用方法
– <input id="name" name="name" type="text" value="1">
14
Helper - 表單(11)
• ViewModel綁定
– @model WebApplication2.Models.Student
– @Html.TextAreaFor(model => model.ID)
– <input class="text-box single-line" id="ID"
name="ID" type="text" value="">
15
Helper - 表單(12)
• ViewModel綁定
@model WebApplication2.Models.Student
@Html.TextBoxFor(model => model.ID)
16
Helper – 表單欄位製作(1)
17
• TextBox & TextArea
– Html.TextBox("Textbox")
– Html.TextAreaFor(model => model.textbox)
– Html.TextArea("TextArea")
– Html.TextAreaFor(model => model.textArea)
Helper – 其他表單欄位製作(2)
18
• Hidden
– Html.Hidden(“Hidden")
– Html.HiddenFor(model => model. Hidden)
Helper – 其他表單欄位製作(3)
• Password
– Html.Password(" Html.Password ")
– Html.PasswordFor(model => model.Password)
19
Helper – 其他表單欄位製作(4)
20
• RadioButton
– Html.RadioButton("RadioButton", 3)
– Html.RadioButton(model =>
model.RadioButton, 3)
Helper – 其他表單欄位製作(5)
21
• CheckBox
– Html.CheckBox("CheckBox1")
– Html.CheckBoxFor(“model =>
model.CheckBox1")
Helper – 其他表單欄位製作(6)
• Dropdownlist
22
Helper – 其他表單欄位製作(7)
• Dropdownlist
23
Helper – 其他
• 超連結
– @Html.ActionLink
• 嵌入部分檢視
– @Html.Partial
• DisplayTemplates
• EditorTemplates
24
實作
• 使用Html BeginForm建立簡單表單
• 練習使用html helper,配合ViewModel建立
強型別表單
25
Model介紹
26
Model介紹
• 何謂Model
– (廣義)Controller與View以外的就是Model
27
資料呈現
(ViewModel)
邏輯運算
(Logic)
資料庫操作
(ORM)
Model與View
28
@model WebApplication2.Models.Student
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.NAME)
</dt>
<dd>
@Html.DisplayFor(model => model.NAME)
</dd>
</dl>
Razor
Controller、View與Model
29
Controller
_ViewStart.cshtml
_Layout.cshtml
Index.cshtml
邏輯運算
(Logic)
Model
Request
(Service or method)
Controller、View與Model
30
Controller
_ViewStart.cshtml
_Layout.cshtml
Index.cshtml
資料庫操作
(ORM)
Model
Request
Database
將資料庫結構(Schema)
轉換成
Model直接進行操作
What is Model ?
31
Model
View Controller
重
笨
輕
表單應用
表單 輸入邏輯程式
資料庫
送出
儲存資料
輸出邏輯程式
應用程式
網頁
讀取資料
顯示
Controller
表單應用
表單 輸入邏輯程式
資料庫
送出
儲存資料
輸出邏輯程式
應用程式
網頁
讀取資料
顯示
Controller
ViewModel
• Available Attributes
– DataTypeAttribute
– DisplayAttribute
– Validation
• RequiredAttribute
• StringLengthAttribute
• RegularExpressionAttribute
• CompareAttribute
34
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6

More Related Content

PPTX
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練5
PPTX
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練5
PPTX
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
PDF
ASP.NET MVC Code Templates實戰開發 -twMVC#4
PPTX
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
PPTX
輕鬆上手ASP.NET Web API 2.1.2
PDF
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
PDF
ASP.NET MVC Model 的設計與使用 twMVC#10
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練5
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練5
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
ASP.NET MVC Code Templates實戰開發 -twMVC#4
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
輕鬆上手ASP.NET Web API 2.1.2
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
ASP.NET MVC Model 的設計與使用 twMVC#10

Viewers also liked (20)

PPTX
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
PPTX
ASP.Net MVC Framework
PPTX
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
PPTX
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
PPTX
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
PPTX
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
PPTX
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
PPTX
Entity Framework實戰
PPTX
Linq實戰
PPTX
Linq初階
PDF
Entity framework 與 LINQ
PDF
Entity framework 入門第一課
PDF
20150203 第三次iPad分享課程
PPTX
20150711
PDF
20140111
PDF
20160702 ocac
PPTX
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
PDF
20140831 僑校 行動教學 + 雲端教室 的設置與分享
PDF
20150210 第四次iPad分享課程
PDF
20150120 第一次iPad分享課程
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
ASP.Net MVC Framework
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
Entity Framework實戰
Linq實戰
Linq初階
Entity framework 與 LINQ
Entity framework 入門第一課
20150203 第三次iPad分享課程
20150711
20140111
20160702 ocac
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
20140831 僑校 行動教學 + 雲端教室 的設置與分享
20150210 第四次iPad分享課程
20150120 第一次iPad分享課程
Ad

Similar to 2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6 (20)

PDF
Moodle 项目帮助手册:程序编写准则
ODP
Django Firstofhexu
PDF
旺铺前端设计和实现
PPT
Asp.net mvc 培训
PPTX
HTML5 介绍
 
DOC
Free Marker中文文档
PDF
View 與 Blade 樣板引擎
PDF
J2ee经典学习笔记
PDF
View 與 Blade 樣板引擎
PDF
View 與 Blade 樣板引擎
DOCX
01 orm概述及持久化介绍
PPT
Web base 吴志华
PDF
【 I Love Joomla 】- Joomla!佈景製作教學
PDF
Model 設定與 Seeding
PPT
Struts Mitac(1)
PPTX
I Love Joomla! 佈景製作教學 0212
PDF
CRUD 綜合運用
PPT
Jsp讲义
PDF
bkakfsjhdsjhfgkjsahdgkjphsjghksjhfgjkdfhjkghdfjkg
PDF
四天学会Ajax
Moodle 项目帮助手册:程序编写准则
Django Firstofhexu
旺铺前端设计和实现
Asp.net mvc 培训
HTML5 介绍
 
Free Marker中文文档
View 與 Blade 樣板引擎
J2ee经典学习笔记
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
01 orm概述及持久化介绍
Web base 吴志华
【 I Love Joomla 】- Joomla!佈景製作教學
Model 設定與 Seeding
Struts Mitac(1)
I Love Joomla! 佈景製作教學 0212
CRUD 綜合運用
Jsp讲义
bkakfsjhdsjhfgkjsahdgkjphsjghksjhfgjkdfhjkghdfjkg
四天学会Ajax
Ad

More from Duran Hsieh (20)

PDF
DevOps Tool Chain - Image Registry Troubleshooting and Best practices
PPTX
聽微軟專家說為何.NET開發非學不可?
PDF
DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程
PDF
Visual Studio Dev Tunnel.pdf
PDF
GDG Taichung: What is new in Firebase
PDF
GDG Taichung - Flutter and Firebase.pdf
PPTX
GitHub Action Introduction
PPTX
Cloud Study Jam - ML API 4
PPTX
Cloud Study Jam ML API 3
PPTX
GDG Taichung: Cloud Study Jam ML API
PPTX
GDG Taichung - Firebase Introduction 01
PPTX
Study4TW .NET Conf Local Event Taichung 2018 slideshow
PPTX
What is .NET Chinese ver
PPTX
Microsoft recommendation solution on azure
PPTX
Microsoft professional program introduction
PDF
聰明的投資者
PPTX
聊天機器人概論 Introduce to chat bot sevices
PPTX
Android 基礎課程補充資料
PPTX
Android基礎課程3 - APP上架、廣告與 Facebook 登入
PPTX
Android基礎課程2 - google map android API
DevOps Tool Chain - Image Registry Troubleshooting and Best practices
聽微軟專家說為何.NET開發非學不可?
DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程
Visual Studio Dev Tunnel.pdf
GDG Taichung: What is new in Firebase
GDG Taichung - Flutter and Firebase.pdf
GitHub Action Introduction
Cloud Study Jam - ML API 4
Cloud Study Jam ML API 3
GDG Taichung: Cloud Study Jam ML API
GDG Taichung - Firebase Introduction 01
Study4TW .NET Conf Local Event Taichung 2018 slideshow
What is .NET Chinese ver
Microsoft recommendation solution on azure
Microsoft professional program introduction
聰明的投資者
聊天機器人概論 Introduce to chat bot sevices
Android 基礎課程補充資料
Android基礎課程3 - APP上架、廣告與 Facebook 登入
Android基礎課程2 - google map android API

2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6

Editor's Notes

  • #4: 參考wiki說明 http://zh.wikipedia.org/wiki/ASP.NET_MVC_Framework#ASP.NET_MVC_Razor_Engine
  • #31: 事後補充
  • #32: 1. 表示一種軟體架構模式,把系統分成三個部份: Model、View、Controller 2. 目的為實作動態程式設計,對於日後程式的修改及擴充更加便利,並讓某部分的程式可以重複利用。 3. 優點在於複雜度簡化,使程式結構更加直覺。 4. View 美工、UI與顯示控制 5. Controller 流程控制、處理與使用者的互動 6. Model 資料庫物件與商業邏輯