SlideShare a Scribd company logo
1 of 67
Download to read offline
ASP.NET MVC View 開發技巧小錦囊
twMVC #20
Dino Wang
twMVC Co-funder
Microsoft Azure MVP
http://mvc.tw
Dino Wang, 王育民
2
ASP.NET MVC 5 開發美學
 共同作者
Blog: Dino's Sandbox
 大旱休耕中
Microsoft Azure MVP
TechDays Taiwan 講師
twMVC 共同創辦人/講師
Skilltree 專任講師
Yahoo!奇摩 x 華人健康網
 逾 2 億瀏覽量 / 年
 逾 600 萬不重複瀏覽 / 月
 均 55 萬 Page Views / 日
 台灣前 (兩) 百大網站
 ASP.NET MVC on Azure
 Microsoft 客戶案例分享
 Cloud Days 2012 分享
http://mvc.tw
 過去 三年一人團隊 的開發經驗
 今天提供兩個小方法,有效的減少需要 coding 的量,尤其是前端的
script
 其他錦囊再找機會提供
 View 開發不過就是那樣?
 解決痛點,試著為 View/Script 解藕
 最近兩年我的 .cshtml 中沒有出現任何一個含有 javascript code
的 script element,重點在零星的 javascript code 不見了。
蝦毀小錦囊 (?)
3
4
Scriptalized View
http://mvc.tw
 想要在別人家的網站投遞廣告,該怎麼做比較好
 ?
或換一種說法:我能不能讓我的 View 顯示在別人的網站?
問題情境
5
http://mvc.tw
 想要在別人家的網站投遞廣告,該怎麼做比較好
 讓別人家的工程師幫你放 HTML
(前提 HTML 當然是你已經寫好的)
(鼓勵不要提供讓對方走 Web API 的路)
Approach- 讓別人家的工程師幫你放 HTML
6
http://mvc.tw
Approach- 讓別人家的工程師幫你放 HTML
7
http://mvc.tw
Approach- 讓別人家的工程師幫你放 HTML
8
 老人家說「每寫三行 code 就會錯一行」
交給無責第三方貼一行以上的 code 就會出錯,真心不騙
 時效問題,你趕我不趕
 對方很好配合,就真的這麼做了結果...
http://mvc.tw
Approach- 讓別人家的工程師幫你放 HTML
9
http://mvc.tw
 想要在別人家的網站投遞廣告,該怎麼做比較好
 讓別人家的工程師幫你放 HTML
 ?
Approach
10
http://mvc.tw
 想要在別人家的網站投遞廣告,該怎麼做比較好
 讓別人家的工程師幫你放 HTML
 哎呀,挖洞放個 iframe
Approach
11
http://mvc.tw
Approach- 哎呀,挖洞放個 iframe
12
http://mvc.tw
謝謝聆聽 ~
13
http://mvc.tw
Approach- 哎呀,挖洞放個 iframe
14
<iframe src="…" width="300" height="50"></iframe>
 固定大小,無法容(ㄊㄡ)納(ㄉㄨˋ)第二支廣告 (無誤)
 那在沒有廣告檔期的時候呢?在心裡空下一個位置嗎?
 不該使用 iframe 作為投放內容的直接手段
http://mvc.tw
 想要在別人家網站投遞廣告,會有哪些作法
 讓別人家的工程師幫你放 HTML
 哎呀,挖洞放個 iframe
 ?
Approach
15
http://mvc.tw
 想要在別人家網站投遞廣告,會有哪些作法
 讓別人家的工程師幫你放 HTML
 哎呀,挖洞放個 iframe
 放一支 .js 產 HTML
Approach
16
http://mvc.tw
 js 維護 DOM (速度一定比直接寫入 HTML 慢)
 js 組 HTML 字串還沒寫完天都黑了,除錯有夠難,該怎辦
 document.write("<iframe src='…'>…</iframe>");
 document.write("<div>…</div>");
 信不信真的有外包在做這個
 解決生產力的問題後,就是個可行方案
Approach- 放一支 .js 產 HTML
17
http://mvc.tw
 Worldwide Advertising Providers
 Google
 Yahoo!
 其他領域的應用
 Gist
 Reddit
Idea- 從觀摩開始,向業師學習
18
一度認為在核心運用 document.write
恥度無下限,但發現 Gist 也這
樣用也就算了其實是潮流
XD
http://mvc.tw
是不是感覺迂迴難搞?
19
http://mvc.tw
1. 用一般的方法寫好要呈現的 HTML, 讓事情簡單
 寫好 ASP.NET MVC 裡頭的 View
2. 巧力將 HTML 轉為 javascript
 document.write("<div>…</div>");
這個階段別肖想一步到位,關注點分離
20
http://mvc.tw
@model BannerData
<style>…</style>
<div class="vendor-banner">
<a href="@Model.Url" target="_blank">
<img src="@Model.ImageUrl" alt="…" />
</a>
</div>
寫好要投放的 HTML - View
21
http://mvc.tw
public class AdController
{
public ActionResult Banner()
{
var data = BannerDataFromSomewhere();
return View(data);
}
}
寫好要投放的 HTML - Controller
22
http://mvc.tw
document.write("<style>…</style>n<div …>…");
容我先跳到結論– 預期轉換的結果
23
http://mvc.tw
public class AdController
{
public ActionResult Banner()
{
var data = GlobalBannerFromSomewhere();
return View(data);
}
}
容我先跳到結論– 最好的轉換時機點?
24
http://mvc.tw
public class AdController
{
public ActionResult Banner()
{
var data = GlobalBannerFromSomewhere();
return ScriptalizedView(data);
}
}
容我先跳到結論– 最好的轉換時機點
25
太天真
這樣超累的
26
27
http://mvc.tw
public class AdController
{
[ScriptalizedOutput]
public ActionResult Banner()
{
var data = GlobalBannerFromSomewhere();
return View(data);
}
}
容我先跳到結論– 最好的轉換時機點
28
http://mvc.tw
 可以運用的 ASP.NET MVC 的切入點 (1/2)
 ActionResult
 繼承 ViewResult/PartialViewResult 於 Render View 結束
後進行調整處理
 為了好用要實作全部的多載給 Base Controller
 return View(…);  return ScriptialiedView(…);
 return PartialView(…);  return
ScriptialiedPartialView(…);
將寫好的 View 轉成 JavaScript
29
http://mvc.tw
 可以運用的 ASP.NET MVC 的切入點 (2/2)
 ActionFilter
 HTTP Header 部分
只處理 Content-Type: text/html (條件)
轉換成 Content-Type: text/javascript (結果)
 運用 ActionFilter 可以對 Result 加工的特性
與去除 HTML 標籤之間的空白字元的招式同源
twMVC #03 Bibby ( http://mvc.tw/event/2012/7/14 )
PS: 我個人不推移除 HTML 標籤間空白
將寫好的 View 轉成 JavaScript
30
http://mvc.tw
DOTCH! ( 請看對重點 )
31
http://mvc.tw
 ScriptalizedOutoutAttribute
 實作 ASP.NET MVC ActionFilter
Implementation
32
http://mvc.tw
<script src="http://yoursite/Ad/Banner"></script>
IT 大哥,可以在你網站幫我放這一行 HTML 嗎?
部落客大哥,可以在你網站幫我放這一行 HTML 嗎?
如何交給委託方
33
Demo
34
http://mvc.tw
 視需求可以跟 OutputCache 一起使用,讓套用
ScriptalizedOutput 的 Action 也能被快取
 使用了 document.write 就不要再幻想著可以被 SEO 了
其他小事
35
講了40頁
只能做廣告
這樣的事?
36
沒有人說
只能這樣
37
http://mvc.tw
 為網頁上的 登入狀態 提供了一種新的做法
 常用的方法 AJAX
 另一個選擇 ScriptalizedOutput
Isolated Non-Cache Block
38
http://mvc.tw
<html>
<head>…</head>
<body>
...
<div id="member-status">
<!-- 挖空等待填入資料 -->
</div>
...
</body>
</html>
整頁快取中的獨立區塊 – 登入狀態為例
39
http://mvc.tw
<html>
<head>…</head>
<body>
...
<div id="member-status">
<a href="/Member/LogOn">登入</a>
</div>
...
</body>
</html>
Isolated Non-Cache Block
40
http://mvc.tw
<html>
<head>…</head>
<body>
...
<div id="member-status">
Hi! Dino, <a href="/Member/LogOut">登出</a>
</div>
...
</body>
</html>
Isolated Non-Cache Block
41
http://mvc.tw
<html>
<head>…</head>
<body>
...
<script src="/Member/Status"></script>
...
</body>
</html>
Isolated Non-Cache Block
42
http://mvc.tw
<html>
<head>…</head>
<body>
...
<script src="/Member/Status"></script>
<div>Hi! Dino. <a href="/Member/Logout">登出</a></div>
...
</body>
</html>
Isolated Non-Cache Block
43
http://mvc.tw
 優點
不用再寫 JavaScript 程式碼
(JavaScript 我不是不愛你)
 缺點
等到 script 結束 browser 才繼續渲染頁面
小心變成一顆屎
Isolated Non-Cache Block
44
http://mvc.tw
使用前請詳閱公開說明書啊啊啊啊!
45
http://mvc.tw
 [Blog] http://goo.gl/PqTMQ
跨網站利用 document.write 顯示
ASP.NET MVC ViewResult 內容, 使用
ActionFilter
 [Gist] https://goo.gl/hRb3d3
 沒有上 NuGet 請自己抄程式碼 …
Reference
46
47
MvcTrig
ASP.NET MVC Client Trigging Framework
http://mvc.tw
 當伺服器端回送網頁給 browser 的時候,你想要跑一些
JavaScript
 將 JavaScript code 寫在 View? (常見)
 你不是說要關注點分離?
定義要被解決的 View 開發問題 1/3
48
http://mvc.tw
 當 AJAX 完成一個 request,你返回一些資料給呼叫端
$.get(url, data, function (result, status, xhr) {
// write code to handle result
});
 能不能只有
$.get(url, data);
定義要被解決的 View 開發問題 2/3
49
http://mvc.tw
 你曾使用過 ASP.NET MVC 的 AjaxHelper 嗎?
I hate OnComplete=""
能不能保有原機制,但不使用 OnComplete 依然有相同甚至更好
的效果。
定義要被解決的 View 開發問題 3/3
50
http://mvc.tw
 使用同一套做法
 而不是在 Page 寫 <script></script>
 可以不需要在 $.get 寫 handler
 使用 AjaxHelper 的時候,不需要設定 OnComplete 了
 用 意圖 取代 寫死的程式碼
 讓後端送 意圖 和 資料 給前端的 event listener
同時解決 Page/AJAX request 的問題
51
http://mvc.tw
Caller/Callee Model
52
http://mvc.tw
Caller/Callee/Client code
53
Demo
54
http://mvc.tw
 開發 Plugin 為 MvcTrig 擴充新的意圖
Extensible
55
56
Announcing MvcTrig (OSS)
ASP.NET MVC Client Trigging Framework
http://mvc.tw
 https://github.com/dinowang/MvcTrig
MvcTrig
57
http://mvc.tw
Pros
 同時支援 Page/AJAX 請求
 不用理會是呼叫 Page 還是
AJAX,前端用完全相同的結構寫
JavaScript,Controller 只傳
送意圖與參數
 支援站內 HTTP Redirect
 支援自訂擴充外掛
 Fluent API
MvcTrig Pros and Cons
58
Cons
 沒有對可快取的請求最佳化
請小心使用
 可以套用 Scriptalized
View 來解決快取問題,但
相對複雜化
http://mvc.tw
謝謝聆聽 ~
59
60
http://mvc.tw
感謝KKTIX贊助活動報名平台
感謝 KKTIX 贊助 twMVC 活動報名平台
61
http://mvc.tw
感謝 Jetbrains 贊助贈品
62
https://www.jetbrains.com/resharper/
http://mvc.tw
感謝 OzCode 贊助贈品
63
http://www.oz-code.com/
http://mvc.tw
感謝 ALIVE 贊助贈品
64
https://comealive.io/
http://mvc.tw
Blog 是記錄知識的最佳平台
65
http://mvc.tw
業界師資、實戰教學
66
http://skilltree.my
謝謝各位
• 本投影片所包含的商標與文字皆屬原著作者所有。
• 本投影片使用的圖片皆從網路搜尋。
• 本著作係採用姓名標示-非商業性-相同方式分享 3.0 台灣授權。閱讀本授權條款,請到
http://creativecommons.org/licenses/by-nc-sa/3.0/tw/,或寫信至Creative Commons, 444 Castro
Street, Suite 900, Mountain View, California, 94041, USA.
h t t p : / / m v c . t w

More Related Content

What's hot

ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站twMVC
 
twMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC
 
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14twMVC
 
twMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS LambdatwMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS LambdatwMVC
 
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路twMVC
 
開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15twMVC
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2twMVC
 
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15twMVC
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17twMVC
 
一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18twMVC
 
twMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationtwMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationMia Chang
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC
 
Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11twMVC
 
如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12twMVC
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC
 
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3twMVC
 
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6twMVC
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4twMVC
 

What's hot (19)

ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站
 
twMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual Studio
 
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14
 
twMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS LambdatwMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS Lambda
 
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
 
開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure Functions
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
 
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18
 
twMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationtwMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie Recommendation
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 
Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11
 
如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
 
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
 

Similar to twMVC#20 | ASP.NET MVC View 開發技巧小錦囊

與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1twMVC
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC
 
Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手Study4TW
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式Chui-Wen Chiu
 
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Wade Huang
 
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)Bruce Chen
 
twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率twMVC
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing江華 奚
 
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC
 
ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10twMVC
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教Bruce Chen
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Gelis Wu
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVCjeffz
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC
 
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Jollen Chen
 
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧twMVC
 
Non-MVC Web Framework
Non-MVC Web FrameworkNon-MVC Web Framework
Non-MVC Web FrameworkFred Chien
 

Similar to twMVC#20 | ASP.NET MVC View 開發技巧小錦囊 (20)

與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
 
Asp.Net Mvc 1.0
Asp.Net Mvc 1.0Asp.Net Mvc 1.0
Asp.Net Mvc 1.0
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
 
Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式
 
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
 
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
 
twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
 
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用
 
ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVC
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
 
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
 
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
 
Non-MVC Web Framework
Non-MVC Web FrameworkNon-MVC Web Framework
Non-MVC Web Framework
 

More from twMVC

twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7twMVC
 
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC
 
twMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARPtwMVC
 
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC
 
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC
 
twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC
 
twMVC#41 hololens2 MR
twMVC#41 hololens2 MRtwMVC#41 hololens2 MR
twMVC#41 hololens2 MRtwMVC
 
twMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC
 
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC
 
twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁twMVC
 
twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC
 
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC
 
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API twMVC
 

More from twMVC (20)

twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
 
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇
 
twMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwright
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
 
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
 
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart Factory
 
twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
twMVC#41 hololens2 MR
twMVC#41 hololens2 MRtwMVC#41 hololens2 MR
twMVC#41 hololens2 MR
 
twMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC#41 The journey of source generator
twMVC#41 The journey of source generator
 
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
 
twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁
 
twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波
 
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 Log
 
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
 

twMVC#20 | ASP.NET MVC View 開發技巧小錦囊