婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET MVC小結之基礎篇(二)

ASP.NET MVC小結之基礎篇(二)

熱門標簽:t3出行地圖標注怎么做 河南語音外呼系統公司 關于宗地圖標注技術規范 河北網絡回撥外呼系統 400電話辦理最優質 400免費電話怎么辦理 寧夏機器人電銷 外呼電銷機器人軟件 威海電銷

整理除了這個筆記,共享一下子,基本MVC的所有東西都介紹了,但是都是很基礎的東西。本來打算一篇發表完的,但是發現東西有點多,所以分成了兩篇文章,這是最后一篇了!

1.ASP.NET MVC請求過程

  1

2.Controller

  (1) 控制器在ASP.NET MVC中扮演著處理客戶端請求的角色

  1)必須實現System.Web.Mvc.IController接口

   ->通常直接繼承System.Web.MVC.Controller類

  2)必須要以Controller結尾

  3)通過不同的Action來處理具體的客戶端請求

3.Action

  (1) 是指在繼承了System.Web.Mvc.Controller類中所定義的返回值的類型可以兼容

  (2)ActionResult方法

復制代碼 代碼如下:

namespace MvcApplication.Controllers
{
public class HomeController:Controller
{
public ActionResult Index()
{
ViewBag.Message="韓迎龍";
return View();
}
}
}

  (3)ASP.NET MVC3的ActionResult

    

  (4)注意事項

  1)能夠通過URL訪問的Action必須是公有(Public)方法

  2)如果標記了[NonAction]屬性,這不能通過URL訪問該Action

  3)默認,Action得方法名就是Action名(通過URL訪問的名稱),如有特殊需求也可通過[ActionName("OtherActionName")]標記出特定的Action名

  4)我們可以通過[HttpPost][HttpGet]等來區分處理不同的請求動作的同名Action

4.ASP.NET Routing 路由,過濾器

  (1) ASP.NET Routing模塊(Module)的責任是將傳入的客戶端(瀏覽器)請求映射為特定的MVC Controller Actions

  (2)路由機制

  1)路由引擎 -映射URLS到Controlller

復制代碼 代碼如下:

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // 路由名稱
"{controller}/{action}/{id}", // 帶有參數的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 參數默認值
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}

  2)/Products/Detail/8

復制代碼 代碼如下:

routes.MapRoute(
"Default", // 路由名稱
"{controller}/{action}/{id}", // 帶有參數的 URL
);
public class ProductsController:Controller
{
public ActionResult Details(int id)
{
return View();
}
public ActionResult Edit(int id)
{
return View();
}
}

5. MVC3中Routing變更

  (1) 從System.Web.Routing3.5程序集中轉移到了System.Web 4程序集中,成為了基礎服務的一部分。

  (2)在ASP.NET 4中Routing的Module被注冊在根Web.Config中,不需要你在自己的應用程序中的Web.Config中另行注冊了

  (3)UrlRoutingModule處理的事件減少了一個,僅處理PostResolveRequestCache事件

  (4)HttpRequest新增加了一個RequestContext屬性

  (5)增加了PageRouteHandler,支持WebForm路由功能

  (6)RouteCollection中增加了4個MapPageRoute的重載方法,添加路由規則更方便了

6. Routing好處

  (1) 可以方便的實現REST服務

  (2)Url友好化,利于SEO和增強用戶體驗

  (3)Controller和Action的調用規則可定制化,降低耦合,提高靈活性

7. 過濾器

  (1) Filter是一種AOP模式,能夠對一系列操作進行橫切干擾的手段,它很大程度解耦了依賴關系,讓我們的代碼更加簡練,功能更加豐富

  (2)ASP.NET MVC中提供了4類Filter接口

   1)IActionFilter

  2)IAuthorizationFilter

  3)IExceptionFilter

  4)IResultFilter

  (3)ASP.NET MVC中提供了OutputCacheAttribute,HandlErrorAttribute,AuthorizeAttribute等常用Filter實現

  (4)Filter的切入過程

  1)以ActionFilter為例

      

8. SP.NET MVC3中的Filter

  (1) 提供了全局注冊Filter功能

  (2)提供了對ChildAction的OutputCache支持

  1)結合[ChildActionOnly]使用

9. Model

  (1) MVC中Model主要負責維持數據狀態,將數據從數據存儲器中檢索并傳遞給控制器,客戶端傳送過來的數據經過處理后再傳回數據存儲系統中,是MVC中較重的一層

  (2)ASP.NET MVC框架本身并不關心數據的存儲系統,并通過一些額外的幫助類和Model綁定機制簡化了Model的使用

  1)具備自綁定機制

   2)具備自驗證機制

  (3)ASP.NET MVC3 Model的改進

  1)ASP.NET MVC3 Model主要改進了驗證機制

   ->數據驗證(Data Annotations)

   ->客戶端驗證(Client Validation)

   ->遠程驗證(Remote Validation)

  ->自驗證(Self Validation)

  (4)數據驗證

  1)通過System.ComponentModel.DataAnnotations的方法集合進行驗證,并對客戶端驗證產生一些便利影響

   2)可以通過繼承ValidationAttribute實現自定義驗證的Attribute

  (5)客戶端驗證

  1)使用Jquery的驗證插件

  2)jquery.validate.unobtrusive.mis.js實現客戶端驗證

   ->啟用客戶端驗證

   appSettings>

   add key="ClientValidationEnabled" value="true" />

   add key="UnobtrusiveJavaScriptEnabled" value="true" />

  /appSettings>

  ->引用JQuery

   script src="http://www.cnblogs.com/Scripts/jquery.validate.min.js" type="text/javascript">/script>

    script src="http://www.cnblogs.com/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript">/script>

   ->特殊的驗證

@{

Html.EnableClientValidation();

}

  (6)遠程驗證

   1)在Model的中使用跟RequiredAttribute相似

   1)[Remote("驗證的Action名","控制器名",ErrorMessage="遠程驗證為未通過的錯誤消息")]

   2)注意

   1)用于遠程驗證的Action必須是HttpGet的,Post提交無效

   2)Action返回的結果是JsonResult,不是直接返回布爾值

  (7)自驗證

  1)在Model中結合ValidationContext和ValidationResult來提供驗證

復制代碼 代碼如下:

 public IEnumerableValidationResult> Validate(ValidationContext validationResult)
   {
   if(EndDate=StartDate)
  {
   yield return new ValidationResult("結束時間必須大于開始時間");
   }
   }

10. 最佳實踐

  (1) 分層設計

   1)多個項目

  2)分離關注點

  3)可替換的數據訪問層

  (2)Repository模式(業務層)

   1)將數據的增刪改查(CRUD)操作封裝到Repository中

  2)業務邏輯/數據驗證封裝到Service中

   3)Controller調用Respository和Service

  (3)PRG模式(方法)

   1)POST

   2)Redirect

   3)GET

   4)PRG模式是用來確保修改數據只發生一次

  (4)保持視圖中代碼量最小化

   1)視圖中不要含有數據處理的邏輯代碼

   2)視圖中要避免包含大的代碼塊

   3)構建多個試圖/局部視圖

   4)使用適當的@Helper和@Function語法

  (5)跟神奇的字符串說"拜拜了"

   1)ASPX模式

  @ViewData["Message"]

  @ViewData["TotalCount"]

   2)Razor模式

  @Model.Message

   @Model.TotalCount

   3)盡量使用特定的Model,而避免使用ViewData/ViewBag

  (6)DomainModel(領域模型)!=ViewModel(視圖模型)

   1)符合需求的最小化ViewModel

  1)有效驗證

   2)高安全性

  3)高性能

  2)使用一些Mapping工具,做雙向映射填充

   1)AutoMapper,EmitMapper,ValueInjecter

   2)自定義的ORM-GenerPoint.ORM

   3)使用專門的ViewModel填充邏輯,輕松解決國際化/本地化

  (7)使用新的AJAX Helper

  1)Web.Config中德appSettings

   add key="UnobtrusiveJavaScriptEnabled" value="true">

   2)視圖中引用jquery.unobtrusive-ajax.js

   3)視圖中調用AJAX Helpers

   1)@Ajax.ActionLink("Home","Index",new AjaxOptions{UpdateTargetId="main"})

   2)a data-ajax="true" data-ajax-mode="replace" data-ajax-update="#content" href="/">Home/a>

  (8)視圖中盡可能的寫HTML代碼

  1)盡可能寫純HTML代碼

  2)不要為了隱藏HTMl,而故意自定義Html.Submit之類的Helper

  3)盡可能不使用WebForm控件做視圖代碼渲染

  (9)IIS Express 7.5

  1)具有完整的Web服務器功能

   1)SSL

   2)網址重寫

   3)可對System.webServer>的配置進行本地測試

   4)IIS7.X其他的模版集合

   2)輕量級

   1)5M

   2)不需要管理員賬戶

  3)高性能

11. 關于性能優化的軟實力

  (1) 了解HTTP,Cache,Ajax各種基礎知識

  (2)能夠針對整體Web執行環境進行分析與架構規劃

  (3)能夠設計出妥當的緩存策略

  (4)能夠進一步針對網站性能進行數據話分析

12. 關于性能優化的硬功夫

  (1) 熟悉.net/C#/ASP.NET MVC框架與核心原理

  (2)能夠進一步針對項目進行妥善規劃,做好關注點分離設計

  (3)熟悉Profiling技術,能夠分析出個環節的性能瓶頸

  (4)能夠針對各種環境進行代碼優化,提升程序的執行性能

13. 決定WEB性能的關鍵要素

  (1) Web性能優化基礎-HTTP

1)http是無狀態的

2)一個網頁包含了N次HTTP請求

(2)分析網頁打開時的Http狀態

1)Fiddler

2)IE10 Developer Tools

(3)客戶端優化

1)HTTP請求次數減少

2)下載所使用的帶寬

3)DNS查詢的時間長短

4)CSS顯示的速度

5)JavaScript調用的速度

(4)服務端優化

1)IIS

->控制客戶端

HTTP Cache Control

->控制服務器端

將數出緩存(Output Caching)

提升數據庫查詢速度

2)ASP.NET MVC

->調用性能改善

->適當的緩存策略

(5)[SeesionState]

1)使用SessionState屬性

控制Controller訪問階段狀態數據(Session)的方式

2)注意:關閉Session后不能在使用TempData傳遞信息

(6)[OutputCache]

1)Html.Action與Html.RenderAction支持Output Caching

->@{Html.RenderAction("ActionName")}

->@Html.Action("ActionName")

2)ChildAction終于支持OutputCache屬性

->[ChildActionOnly]

->僅支持Duration,VaryByCustom與VaryByParam參數

->不能使用CacheProfile參數

(7)改變ViewEngine的默認設置

1)移除多余的ViewEngine以提升解析View的速度

->ViewEngines.Engines.Clear();

->ViewEngines.Engines.Add(new RazorViewEngine());

2)也可以通過這種方式變更載入View的順序

->默認是WebFormViewEngine優先處理

->ViewEngines.Engines.Add(new WebFormViewEngine());

(8)避免闖入為null給視圖(View)

1)Html.TextBoxFor(m=>m.Name)

->當傳入null時會引發Exception,但會被try/catch掉

->public ActionResultInsert(){

return View(new Products());

}

(9)關閉Web.Config的debug模式

1)compilation debug="False" targetFramework="4.0" />

基礎篇就到這里了,下面的文章我們來些深入點的知識,大家期待下吧

您可能感興趣的文章:
  • 從零開始學ASP.NET-基礎篇
  • [ASP.NET Ajax] ECMAScript基礎類以及Asp.net Ajax對類lt;Objectgt;的擴展
  • ASP.net基礎知識之常見錯誤分析
  • ASP.NET 2.0 程序安全的基礎知識
  • ASP.NET中實現文件的保護性下載基礎篇
  • ASP.NET MVC基礎
  • ASP.NET MVC小結之基礎篇(一)
  • ASP.NET母版頁基礎知識介紹
  • ASP.NET 5已終結,迎來ASP.NET Core 1.0和.NET Core 1.0

標簽:吉林 淮北 固原 池州 廣元 樂山 咸寧 賀州

巨人網絡通訊聲明:本文標題《ASP.NET MVC小結之基礎篇(二)》,本文關鍵詞  ASP.NET,MVC,小結,之,基礎,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET MVC小結之基礎篇(二)》相關的同類信息!
  • 本頁收集關于ASP.NET MVC小結之基礎篇(二)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产视频亚洲色图| 日韩欧美精品三级| 欧美日韩视频一区二区| 亚洲电影你懂得| 亚洲一区二区三区四区中文字幕| 国产精品久久久久三级| 国产精品视频一二三| 欧美色涩在线第一页| 99久久精品国产网站| 精品亚洲成a人在线观看| 亚洲成人一区二区在线观看| 最近日韩中文字幕| 国产精品久久久久久户外露出 | 麻豆国产一区二区| 日韩一卡二卡三卡四卡| 欧美性色综合网| 不卡视频在线看| 久久九九久久九九| 欧美一区中文字幕| 欧美日韩一区精品| 欧美日韩不卡在线| 欧美精选一区二区| 4438成人网| 欧美一区日本一区韩国一区| 欧美一二三四区在线| 日韩欧美亚洲国产另类| 日韩午夜激情av| 日韩视频一区在线观看| 蜜桃视频一区二区三区 | 亚洲国产综合91精品麻豆| 亚洲免费观看高清完整版在线观看熊| 专区另类欧美日韩| 亚洲午夜免费电影| 另类小说综合欧美亚洲| 国产另类ts人妖一区二区| 懂色av一区二区在线播放| aaa亚洲精品| 欧美日高清视频| 国产精品久久久一本精品| 亚洲欧美日韩在线不卡| 亚洲成人av电影在线| 日本亚洲最大的色成网站www| 国产乱人伦偷精品视频免下载 | 国产在线视频一区二区| 精品视频一区二区不卡| 色综合久久88色综合天天免费| 91丨porny丨在线| 日本道免费精品一区二区三区| 欧美日韩你懂的| 日韩一级黄色大片| 国产精品日日摸夜夜摸av| 亚洲福利国产精品| 国产精品一级二级三级| 日本高清不卡视频| 精品久久国产老人久久综合| 日韩毛片在线免费观看| 美女性感视频久久| 91热门视频在线观看| 精品少妇一区二区三区| 欧美性猛片xxxx免费看久爱| 欧美精品一区二区在线观看| 欧美国产精品v| 国产伦精品一区二区三区免费 | 国产亚洲综合色| 亚洲成a人在线观看| 日日夜夜免费精品视频| 97国产一区二区| 久久久久久日产精品| 亚洲一区影音先锋| 国产99一区视频免费| 91麻豆精品91久久久久同性| 亚洲国产精品99久久久久久久久| 日本少妇一区二区| 欧洲一区在线电影| 综合中文字幕亚洲| 国产日韩欧美a| 日本成人在线看| 欧美国产日产图区| 国产清纯美女被跳蛋高潮一区二区久久w| 国产欧美一区二区精品性色超碰 | 天天综合色天天| 99视频一区二区| 久久久久88色偷偷免费| 日产欧产美韩系列久久99| 一本一道久久a久久精品综合蜜臀| 久久亚洲综合色一区二区三区| 久久66热偷产精品| 中文字幕在线一区| 国产精品资源网站| 91精品国产综合久久香蕉麻豆| 一区二区三区四区高清精品免费观看 | 色综合中文字幕国产| 91精品国产福利在线观看| 亚洲欧洲无码一区二区三区| 国产真实乱对白精彩久久| 91精品国产综合久久精品性色| 亚洲综合免费观看高清在线观看 | 欧美性猛片aaaaaaa做受| 亚洲欧美自拍偷拍| gogogo免费视频观看亚洲一| 国产精品毛片久久久久久久| 国产乱色国产精品免费视频| 美女一区二区久久| 日韩欧美国产精品| 久久66热偷产精品| 精品第一国产综合精品aⅴ| 欧美一区二区视频在线观看2022| 国内精品自线一区二区三区视频| 欧美影视一区二区三区| 亚洲黄色小说网站| 色综合视频一区二区三区高清| 亚洲欧美日韩一区二区| 在线看日本不卡| 亚洲va国产va欧美va观看| 欧美乱妇20p| 久久精品国产亚洲5555| 91精品国产综合久久香蕉麻豆| 欧美激情一区三区| 92精品国产成人观看免费 | 成人av网址在线观看| 国产精品美女久久久久久2018 | 蜜臀久久99精品久久久久宅男 | 欧美日韩一级视频| 亚洲午夜精品17c| 欧美一区二区精品| 久久福利视频一区二区| 国产日韩精品一区二区三区在线| av电影在线观看完整版一区二区| 亚洲摸摸操操av| 激情久久五月天| 国产精品麻豆一区二区| 亚洲国产cao| 成人激情免费电影网址| 色综合久久综合| 精品国产髙清在线看国产毛片| 69久久99精品久久久久婷婷| 久久男人中文字幕资源站| 日韩限制级电影在线观看| 自拍偷自拍亚洲精品播放| 日韩电影在线一区| 欧美亚洲综合另类| 亚洲日本乱码在线观看| 天堂在线亚洲视频| 亚洲a一区二区| 国产清纯白嫩初高生在线观看91 | 亚洲国产精品一区二区www在线 | 成人午夜视频免费看| 夜夜嗨av一区二区三区网页| 国产老肥熟一区二区三区| 6080日韩午夜伦伦午夜伦| 一区二区三区四区中文字幕| 国产精品一卡二卡在线观看| 日韩一区二区在线看| 天堂影院一区二区| 国产精品不卡在线观看| 美腿丝袜亚洲三区| 一级女性全黄久久生活片免费| 天天色 色综合| 久久亚区不卡日本| 日韩欧美国产综合| 国产ts人妖一区二区| 国产日韩影视精品| 日韩欧美亚洲国产另类| 欧美日韩国产乱码电影| 91精品1区2区| 色综合久久综合| 色婷婷香蕉在线一区二区| 不卡在线视频中文字幕| 高清成人免费视频| 国产91精品露脸国语对白| 国产一区二区三区四区五区入口| 麻豆成人av在线| 美日韩黄色大片| 裸体健美xxxx欧美裸体表演| 日韩成人av影视| 亚洲国产精品嫩草影院| 亚洲精品自拍动漫在线| 亚洲免费电影在线| 99精品黄色片免费大全| 成人综合在线观看| 床上的激情91.| 99久精品国产| 色婷婷综合久久久久中文一区二区 | 五月婷婷激情综合网| 一区二区久久久久| 伊人开心综合网| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲一区二区三区小说| 日韩精品免费专区| 免费观看一级特黄欧美大片| 久草中文综合在线| 国产成人欧美日韩在线电影| 91亚洲国产成人精品一区二区三| 色诱视频网站一区| 91精品在线观看入口| 亚洲国产中文字幕| 秋霞电影网一区二区| 欧美aaa在线| 国产成人免费视频网站| 色综合久久综合中文综合网|