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

主頁 > 知識(shí)庫 > ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)

ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)

熱門標(biāo)簽:外呼電銷機(jī)器人軟件 威海電銷 河南語音外呼系統(tǒng)公司 t3出行地圖標(biāo)注怎么做 寧夏機(jī)器人電銷 關(guān)于宗地圖標(biāo)注技術(shù)規(guī)范 400免費(fèi)電話怎么辦理 400電話辦理最優(yōu)質(zhì) 河北網(wǎng)絡(luò)回?fù)芡夂粝到y(tǒng)

前言:前幾天要準(zhǔn)備一個(gè)演講,所以準(zhǔn)備了MVC的一些基本的東西,以前也使用過MVC,但是只是使用,而不是去了解,所以趁著這個(gè)機(jī)會(huì)好好的把別人的MVC視頻看了一下(是一個(gè)微軟的MVP會(huì)員發(fā)布的視頻,相信有些人都看過),整理除了這個(gè)筆記,共享一下子,基本MVC的所有東西都介紹了,但是都是很基礎(chǔ)的東西。本來打算一篇發(fā)表完的,但是發(fā)現(xiàn)東西有點(diǎn)多,所以分成了兩篇文章!

什么是ASP.NET MVC
(1) ASP.NET MVC是微軟官方提供的MVC模式編寫ASP.NET Web應(yīng)用程序的一個(gè)框架

(2)MVC是微軟繼ASP.NET WebForms后的有一種開發(fā)方式,并非替代方式!

(3)官方網(wǎng)站:http://www.asp.net/mvc

(4)源碼網(wǎng)站:http://aspnet.codeplex.com/wikipage?title=MVC

ASP.NET MVC的特點(diǎn)
(1) 分離任務(wù),耦合度很低

(2)可擴(kuò)展能力很高

(3)強(qiáng)大的URL重寫(路由)機(jī)制

(4)兼容ASP.NET現(xiàn)有的技術(shù)

(5)開源

ASP.NET MVC的優(yōu)點(diǎn)
(1) 通過把項(xiàng)目分為MOdel,View和Controller,使得復(fù)雜項(xiàng)目更加容易維護(hù)

(2)沒有使用ViewState和服務(wù)器表單控件,可以更加方便的控制應(yīng)用程序的行為(可以說回歸了原始狀態(tài))

(3)應(yīng)用程序通過Controller來控制程序請(qǐng)求,可以提供豐富的url重寫

(4)支持測(cè)試驅(qū)動(dòng)開發(fā)

(5)在團(tuán)隊(duì)模式下表現(xiàn)得更加出眾

為什么我們需要ASP.NET MVC
(1) 關(guān)注點(diǎn)分離

(2)高可擴(kuò)展性

(3)更好的可測(cè)試性

(4)更好的URL重寫

(5)更好的性能

(6)更加靈活的HTML代碼控制

ASP.NET MVC1
(1) 經(jīng)過漫長(zhǎng)的Preview和2個(gè)RC版本后,2009年3月,微軟正式發(fā)布了ASP.NET MVC1

(2)這時(shí)微軟官方在MVC領(lǐng)域的第一個(gè)WebApplication框架,帶來了與WebForm幾乎不同的開發(fā)理念

(3)但由于某些原因該版本缺失了Area等關(guān)鍵技術(shù)點(diǎn),以至于用該版本開發(fā)復(fù)雜的MVC Web應(yīng)用時(shí)會(huì)有諸多困難

ASP.NET MVC2
(1)在1.0發(fā)布后不到1年時(shí)間,ASP.NET MVC2正式發(fā)布

(2)2010年4月12日發(fā)布了VS2010和Visual Web Developer 2010正式版中內(nèi)置了對(duì)ASP.NET MVC2的擴(kuò)展

(3)ASP.NET MVC2該我們帶來了眾多期待已久的功能:如:強(qiáng)類型的HTML Helper,數(shù)據(jù)驗(yàn)證,自定義模版,Area,異步Controller等等

(4).NET 4的新技術(shù),也給ASP.NET MVC2應(yīng)用開發(fā)帶來了一些不錯(cuò)的新體驗(yàn),如:dynamic類型,帶有默認(rèn)值得方法參數(shù)等。

為什么需要ASP.NET MVC3?
(1) ASPX視圖中充斥著%...%>%...%>%...%>

(2)Action過濾器無法全局

(3)對(duì)404,301,302等的http響應(yīng)狀態(tài),缺乏對(duì)應(yīng)的ActionResult類型

(4)缺乏模型(Model)數(shù)據(jù)驗(yàn)證的直接支持

(5)對(duì)依賴注入(DI),控制反轉(zhuǎn)(IoC)支持不夠好

(6)不支持Grid

(7)ViewData用起來有些麻煩(使用dynamic類型替代)

ASP.NET MVC3
(1) 增加Razor視圖引擎;支持多視圖引擎

(2)全局的Action過濾器

(3)新的ViewBag屬性(dynamic類型),原來是ViewData

(4)新的ActionResult類型

(5)Model Validation(Model的驗(yàn)證)

(6)JSON綁定支持

(7)dependency Injection(注入依賴)

(8)HTML5,CSS3

(9)部分也的輸出緩存

(10)HtmlHelper的增強(qiáng)

(11)NuGet(VS2010環(huán)境繼承的)

Razor視圖引擎
(1) 使用@代替% %>

     1)語法簡(jiǎn)單清晰

     2)容易學(xué)習(xí)

     3)VS2010智能提示和語法著色

(2)全局設(shè)定默認(rèn)布局等項(xiàng)目

全局的Action過濾器
(1) 3.0以前的寫法

復(fù)制代碼 代碼如下:

             [HandleError]
        public class HomeController : Controller
        {
                   ......
        }

(2)3.0以后的寫法:

復(fù)制代碼 代碼如下:

            public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }

新的ActionResult類型
(1) HttpNotFoundResult

     404

(2)RedirectResult

     302\301

(3)HttpStatusCodeResult

     自定義Http狀態(tài)碼

Model Validation
(1) 自驗(yàn)證

(2)客戶端驗(yàn)證

     ->默認(rèn)啟用客戶端驗(yàn)證

(3)遠(yuǎn)程驗(yàn)證

Razor視圖引擎概述
(1) ASP.NET MVC 3自帶了一下視圖引擎

     1)ASPX

     2)Razor

(2)ASP.NET MVC 3支持多視圖引擎機(jī)制

(3)可以在您指定的項(xiàng)目中自定默認(rèn)的視圖引擎

     1)MVC3中自由的上述引擎

     2)Spark

     3)Nhaml

     4)Ndjango

     5)自己定義的視圖引擎

(4)Razor視圖引擎是對(duì)以代碼為焦點(diǎn)的方法實(shí)現(xiàn)

(5)特點(diǎn)

     1)簡(jiǎn)介,富于表現(xiàn),流暢

            ->盡量減少編寫一個(gè)視圖模版所需要敲入的字符數(shù),實(shí)現(xiàn)快速流暢的編程工作。

            ->不必為了明確標(biāo)記出服務(wù)模塊的開始和結(jié)束而中斷編程,Razor解析器能從你的代碼中自動(dòng)推斷出來

     2)易于學(xué)習(xí)

            ->熟悉現(xiàn)有的編程語言和HMTML技能就能快速學(xué)會(huì)

     3)可以在任何文本編輯器中工作

     4)VS2010對(duì)其增加了智能提示

     5)支持單元測(cè)試

(6)簡(jiǎn)介和流暢的對(duì)比

     1)ASPX引擎

                   ul>
                          %foreach(var p in products){%>
                                 li>%=p.Name%>($%=p.Price%>)/li>
                          %}%>
                   /ul>

     2)Razor引擎

                   ul id="products">
                          @foreach(var p in products){
                                 li>@p.Name($@p.Price)/li>
                          }
                   ul>

偉大的@
(1) Razor中服務(wù)器端代碼段的起始位置均使用@符號(hào)作為開始

     1)ASPX引擎

                   %
                          int x=12;
                          string name="韓迎龍";
                   %>

     2)Razor引擎

                   @{
                          int x=12;
                          string name="韓迎龍";
                   }

(2)渲染輸出

     1)經(jīng)過HTML編碼(放置被攻擊)

                   1)ASPX引擎

                          span>%:model.Message%>/span>

                   2)Razor引擎

                          span>@model.Message/span>

     2)未經(jīng)HTML編碼

                   1)ASPX引擎

                          span>%=model.Message%>/span>

                   2)Razor引擎

                          span>@Html.Raw(model.Message)/span>

(3)代碼和標(biāo)記混合

     1)ASPX引擎

                   %foreach(var item in items){%>
                          span>%:item.Prop%>/span>
                   %}%>

     2)Razor引擎

                   @foreach(var item in items){
                          span>@item.Prop/span>
                   }

(4)代碼和純文本混合

     1)ASPX引擎

                   %if(foo){%>
                          Plain Text
                   %}%>

     2)Razor引擎

                   @if(foo){
                          text>Plain Texttext>
                   }
                   @if(foo){
                          @:Plain Text
                   }

(5)text>標(biāo)簽式一個(gè)Razor特殊處理的元素,Razor將text>塊內(nèi)部?jī)?nèi)容視為內(nèi)容塊,不呈現(xiàn)包含那些內(nèi)容的text>標(biāo)簽

            (這意味著只呈現(xiàn)text>內(nèi)部?jī)?nèi)容,不呈現(xiàn)標(biāo)簽本身)。這使呈現(xiàn)沒有被HTML元素包裝的多行內(nèi)容塊變得方便

(6)表達(dá)式與文本混合

       1)ASPX引擎

                   Hello %:title%>.%:name%>

     2)Razor引擎

                   Hello @title.@name

(7)Email地址

     1)hyl934532778@live.cn

                   Razor可以自動(dòng)識(shí)別Email地址而不作為服務(wù)器端代碼執(zhí)行

(8)兩個(gè)連續(xù)的@@符號(hào)會(huì)被渲染成一個(gè)@符號(hào)

            span>I Hava A Dream,@@Kencery /span>

(9)顯示渲染輸出

            1)span>ISBN@(isbnNumber)/span>

            2)當(dāng)要渲染輸出的代碼@前無空格或標(biāo)記位時(shí),我們需要使用小括號(hào)繼續(xù)您顯示的渲染輸出

(10)服務(wù)器端注釋

            1)ASPX引擎

                   %
                          I Have a Dream
                   %>

            2)Razor引擎

                   @*
                          I Have a Dream
                   *@

(11)渲染輸出動(dòng)態(tài)方法

            1)對(duì)于動(dòng)態(tài)方法返回值之類的輸出我們使用小括號(hào)將代碼閉合起來即可

                   @(MyClass.MyMethodAType>())

(12)創(chuàng)建Razor委托

            1)我們通過創(chuàng)建Razor委托來復(fù)用一些視圖邏輯

復(fù)制代碼 代碼如下:

                   @{
                          Funcdynamic,object> b=
                                 @strong>@item/strong>
                   }
                   @b("Bold this")

(13)內(nèi)容中混合代碼

復(fù)制代碼 代碼如下:

            ul>
                   @foreach(var p in products){
                          li>
                                 @p.ProductName
                                 @if(p.unitsInStock==0){
                                        @:(Out of stock)
                                 }
                                 else if(p.unitsInStock4){
                                        @:(only @p.unitsInStock Left!)
                                 }
                          /li>
                   }
            /ul>

(14)多行內(nèi)容的混合代碼

            1)內(nèi)容在html標(biāo)記閉合中時(shí)

復(fù)制代碼 代碼如下:

                   @if(p.unitsInStock==0){
                          p>
                                 Line one of Content
                                 Line two of Content
                                 Date is: @DateTime.Now
                                 Line four of Content
                          /p>
                   }

(15)多行內(nèi)容混合代碼

            1)內(nèi)容外部沒有html標(biāo)記包裝時(shí)

                   1)@if(p.unitsInStock==0){
                                 @:Line one of Content
                                 @:Line two of Content
                                 @:Line four of Content
                   }

                   2)@if(p.unitsInStock==0){
                          text>
                                 Line one of Content
                                 Line two of Content
                                 Date is: @DateTime.Now
                                 Line four of Content
                          /text>
                   }

為什么需要布局頁面
(1) 沒有使用布局頁時(shí),每個(gè)頁面中將大量的重復(fù)我們的核心網(wǎng)站布局代碼

     1)代碼冗余

     2)不利于管理

     3)不利于后期的修改和維護(hù)

Razor的布局
(1) 不需要使用專門的.master文件,而統(tǒng)一使用.cshtml(VB中為.vbhtml)文件

     1)布局文件名通常采用類似_Layout.cshtml的名字

(2)@RenderBody()用于標(biāo)識(shí)布局頁中可替換內(nèi)容的主題部分

(3)內(nèi)容頁中通過給頁面的Layout屬性賦值實(shí)現(xiàn)指定布局(模版)頁的文件路徑

復(fù)制代碼 代碼如下:

     @{
            Layout="~/Views/Shared/_Layout.cshtml";
}

布局頁的預(yù)設(shè)可布局區(qū)域
(1) 通過使用@RenderSection在布局頁中預(yù)設(shè)一些區(qū)域,用于在內(nèi)容頁中使用

     1)@RenderSection("head",false)

            ->第一個(gè)參數(shù)是Section的名字

            ->第二個(gè)嘗試使用來設(shè)定是否為必須填充內(nèi)容的區(qū)域

            ->上述代碼的含義是生命一個(gè)名字為head的非必需的內(nèi)容區(qū)域

(2)內(nèi)容頁中通過@section head{...}的方式向名為head的section中填充內(nèi)容

_ViewStart文件
(1) 在項(xiàng)目項(xiàng)目\視圖文件夾下添加一個(gè)名為

     _ViewStart.cshtml(或VB的_ViewStart.vbhtml)的文件

(2)該文件用來定義想要在每次視圖呈現(xiàn)開始時(shí)執(zhí)行的通用視圖代碼,比如我們可以在該文件中聲明默認(rèn)的布局屬性

復(fù)制代碼 代碼如下:

     @{
            Layout = "~/Views/Shared/_Layout.cshtml";
     }

(3)因?yàn)檫@段代碼在每個(gè)視圖開始的時(shí)候執(zhí)行,我們不需要再任何單個(gè)視圖文件中顯示設(shè)置布局(除非我們想要覆蓋上面的默認(rèn)值).

ASPX視圖向Razor視圖的轉(zhuǎn)換
(1) 手寫一個(gè)文件一個(gè)文件的修改?

     1)坑爹啊

(2)自己寫代碼用正則表達(dá)式轉(zhuǎn)換??

     1)正則表達(dá)式功底不夠好

(3)那就用著名的telerick團(tuán)隊(duì)打造的RazorConverter吧!

     https://github.com/telerik/razor-converter

相信自己,也許你就是下一個(gè)奇跡

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

標(biāo)簽:淮北 吉林 咸寧 賀州 池州 固原 廣元 樂山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)》,本文關(guān)鍵詞  ASP.NET,MVC,小結(jié),之,基礎(chǔ),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品一级片| 2020国产精品久久精品美国| 亚洲精品高清在线观看| 91麻豆精品一区二区三区| 亚洲激情图片一区| 欧美日韩不卡一区| 另类小说视频一区二区| 久久久久久久综合日本| 国产v日产∨综合v精品视频| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲成人高清在线| 精品欧美乱码久久久久久1区2区 | 色综合色狠狠天天综合色| 亚洲精品菠萝久久久久久久| 欧美三区在线观看| 免费观看一级欧美片| 国产日韩欧美a| 色婷婷亚洲精品| 美日韩一级片在线观看| 中文字幕一区二区三区色视频| 在线观看日韩国产| 久久精品国产一区二区三| 国产精品免费视频一区| 欧美日韩精品欧美日韩精品| 国产一区二区三区在线观看免费| 最新国产成人在线观看| 4hu四虎永久在线影院成人| 风间由美中文字幕在线看视频国产欧美 | 中文字幕免费观看一区| 欧美男生操女生| 国产不卡视频在线播放| 日韩中文字幕91| 国产精品拍天天在线| 51久久夜色精品国产麻豆| 成人午夜视频免费看| 奇米影视一区二区三区| 亚洲欧洲日韩综合一区二区| 欧美成人乱码一区二区三区| 欧美亚洲高清一区| www.激情成人| 国产福利电影一区二区三区| 亚洲123区在线观看| 中文字幕一区二区三区四区不卡| 欧美一级片在线看| 欧美视频在线一区| 成人精品高清在线| 国产一区欧美一区| 免费成人你懂的| 香蕉久久一区二区不卡无毒影院| 中文幕一区二区三区久久蜜桃| 欧美一区二区三区四区高清| 欧美亚洲动漫另类| 色综合天天综合在线视频| 国产成人免费网站| 国产一区日韩二区欧美三区| 蓝色福利精品导航| 五月婷婷欧美视频| 舔着乳尖日韩一区| 亚洲一区二区三区国产| 国产精品高潮呻吟| 中文字幕亚洲欧美在线不卡| 久久久久久久久久久久电影| 久久色.com| 久久久精品人体av艺术| 久久亚洲一区二区三区四区| 欧美v国产在线一区二区三区| 91精品国产美女浴室洗澡无遮挡| 在线精品观看国产| 欧美在线一二三四区| 一本色道**综合亚洲精品蜜桃冫| 成人爱爱电影网址| 成人免费的视频| 成人av免费观看| 91亚洲精华国产精华精华液| 91亚洲国产成人精品一区二三 | 午夜精品久久久久久久99水蜜桃| 亚洲免费在线视频一区 二区| 亚洲人亚洲人成电影网站色| 亚洲欧美色一区| 亚洲国产欧美日韩另类综合| 午夜一区二区三区在线观看| 三级久久三级久久| 日本亚洲三级在线| 激情综合网最新| 国产91丝袜在线播放| 99国产精品久| 欧美精选在线播放| 欧美v亚洲v综合ⅴ国产v| 国产欧美在线观看一区| 国产精品第13页| 亚洲一区影音先锋| 久久精品国产免费看久久精品| 久久精品国产免费| 99久久99精品久久久久久| 在线亚洲免费视频| 欧美一级片免费看| 亚洲国产成人午夜在线一区| 亚洲免费视频成人| 奇米精品一区二区三区在线观看一| 久久精品国产久精国产爱| 国产suv一区二区三区88区| 在线免费观看视频一区| 日韩欧美一区在线| 国产精品免费久久| 日韩精品一二三四| 成人三级伦理片| 欧美高清视频一二三区| 国产欧美日韩在线看| 一区二区三区四区激情| 紧缚捆绑精品一区二区| 色成人在线视频| 精品国产伦理网| 一区二区欧美国产| 国精品**一区二区三区在线蜜桃| 99精品视频免费在线观看| 777精品伊人久久久久大香线蕉| 久久精品视频在线免费观看| 亚洲va欧美va人人爽| 成人手机电影网| 欧美一区二区三区色| 国产精品久久久久aaaa| 玖玖九九国产精品| 精品视频在线视频| 国产精品久久三| 精品一区二区在线播放| 欧洲亚洲国产日韩| 国产丝袜在线精品| 秋霞午夜鲁丝一区二区老狼| 91浏览器入口在线观看| 精品福利一区二区三区| 亚洲福利电影网| 不卡高清视频专区| 国产欧美日韩卡一| 久久国产精品99久久人人澡| 欧美主播一区二区三区| 亚洲三级在线免费观看| 国产精品中文字幕欧美| 欧美大白屁股肥臀xxxxxx| 午夜久久久久久电影| 91麻豆国产香蕉久久精品| 国产精品久久久久久亚洲伦| 国产在线一区观看| 欧美成人vr18sexvr| 免费人成在线不卡| 91精品久久久久久久91蜜桃| 亚洲综合丝袜美腿| 欧洲激情一区二区| 伊人色综合久久天天人手人婷| hitomi一区二区三区精品| 国产日韩av一区| 国产成人aaaa| 亚洲国产高清在线| 成人美女视频在线看| 国产精品免费视频一区| www.爱久久.com| 亚洲欧洲99久久| 91麻豆123| 亚洲亚洲人成综合网络| 在线观看免费一区| 亚洲国产日韩a在线播放| 欧美视频三区在线播放| 天天综合色天天| 欧美一区二区女人| 精品一区二区久久| 欧美激情一区二区三区在线| 成人黄色片在线观看| 亚洲丝袜自拍清纯另类| 在线免费观看日本一区| 香蕉乱码成人久久天堂爱免费| 欧美日韩mp4| 毛片一区二区三区| 国产午夜精品福利| 一本色道久久加勒比精品| 亚洲午夜久久久久久久久久久| 欧美日韩欧美一区二区| 蜜臀久久99精品久久久久久9| 久久嫩草精品久久久久| 成人av网站免费| 亚洲福利视频三区| 日韩欧美不卡在线观看视频| 丰满白嫩尤物一区二区| 一区二区在线电影| 欧美久久久久久久久| 国产曰批免费观看久久久| 中文字幕在线视频一区| 欧美性色综合网| 精品一区二区三区日韩| 亚洲欧洲精品一区二区三区不卡| 在线观看区一区二| 精品在线亚洲视频| 亚洲男同性视频| 欧美一区二区三区日韩视频| 国产成人精品午夜视频免费| 亚洲蜜桃精久久久久久久| 欧美一区二区三级| 不卡一区二区在线| 美女精品自拍一二三四| 国产精品九色蝌蚪自拍| 4hu四虎永久在线影院成人| 成人激情小说乱人伦|