3.掌握ASP.NET兩種編碼方式。javascript
4.Http協議。php
關鍵點:html
1.BS的工做原理是什麼?java
2.服務器端開發技術有哪些?jquery
Asp 、aspx、jsp、phpweb
3.ASP.NET發展史。ajax
4.ASP.NET的特點和優。正則表達式
瀏覽器無關性、易於調試、運行效率高。 代碼邏輯分明(頁面顯示.aspx文件,業務邏輯.cs文件)數據庫
注(msIL或IL是.net框架中間語言縮寫)JIT(Just-in-time compiler)即時編譯器c#
5.建立一個ASP.NET程序【建立網站、編寫頁面、調試運行】。
6.解決方案組成。
7.搭建開發環境[IIS]。
8.ASP.NET程序的發佈。
9.asp.net運行機制。
10.ASP.NET頁面的結構。
11.Page指令。 Page指令定義了頁面用於編譯和解析的屬性 ,每一個aspx頁面只能有一個Page指令。
12.如何判斷回發和首次加載。
13.ASP.NET頁生命週期。
Page_PreInit() Page_Init() Page_Load() Page_PreRender() Page_Render() Page_Unload()
14.Web.Config配置文件的節點操做。
15.ADO.NET在ASP.NET中的使用。
關鍵點:
1.HttpRequest對象封裝客戶端請求頁面或提交表單時提供信息;
2.Request對象經常使用屬性和方法
3.ReSponse對象經常使用屬性和方法[ContentType、Write()、Redirect()、End()]。
4.狀態管理【Cookie存儲於客戶端、Session存儲於服務器、Application應用程序級別的狀態保持】。
Cookie特徵 :存儲少許數據,存儲在客戶端,安全性差,只能存儲字符串。
Session特色:
位置:保存在服務器端,安全性高;類型:任意;Session保存的信息不與其餘用戶共享;
在用戶會話期間能夠記錄和監事用戶信息;當會話過時或終止時服務器會清除Session對象。
Application
Application特色:位置:服務器內存,執行速度快;使用範圍:整個應用程序;類型:任意;生命週期:從應用程序建立到銷燬。
關鍵點:
6.有效性驗證控制【RequiredFieldValidator非空驗證、CompareValidato用於比較控件的值、RangeValidator用於範圍驗證。RegularExpressionValidator正則表達式進行驗證的控件、CustomValidator自定義驗證、ValidationSummary驗證報告控件】。
郵箱驗證表達式:\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
關鍵技術點:
1.母版頁的特別及母版頁的建立步驟。
2.獲取母版頁上控件的值【兩種方式:經過設置屬性、使用FindControl()方法】。
3.web.sitemap、SiteMapPath控件。
4.TreeView控件
關鍵點:
1.三層架構中,各層的含議是什麼?。【表示層、業務邏輯層、數據訪問層】
2.ASP.NET搭建三層架構步驟。
3.三層架構的優點【適應變化、利於維護、適用於協做開、主流趨勢】。
4.數據庫中有主外鍵關係,模型層如何表示【兩種方式:1.爲實體添加外鍵ID;2.爲實體添加對象屬性。】
關鍵點:
一、數據源控件【SqlDataSource、AccessDataSource、XmlDataSource、SiteMapDataSource】
2.後臺綁定數據源。
3.經常使用的數據綁定控件【DropDownList、GridView、DetailsView】。
4.DropDowList的經常使用屬性和方法。
光棒效果
多選效果
6.Eval()方法和Bind()方法的區別。7.Commandname設置自定義命令。
關鍵點:
5.RowEditing事件【GridViewEditEventArgs對象屬性NewEditIndex、Cancel】。
5.HiddenField控件。
單選刪除
自定義刪除
多選刪除
備註,GridView實例大全
3:在Gridview中實現編輯和更新操做
4:在Gridview中實現一次性更新全部記錄
5:在Gridview中固定表頭的實現
6:在Gridview中合併單元格的實現
7:在Gridview中將數據操做結果顯示在Footer中
8:在Gridview中添加表頭
9:在Gridview中將數據導出
10:在Gridview中實現數據導入
11:在Gridview中實現嵌套功能
12:在Gridview中實現多層嵌套
13:在Gridview中實現排序
14:在Gridview中實現分頁
15:Gridivew結合CheckBox控件的使用
16:Gridview結合DropDownList控件的使用
17:Gridview結合RadioButtom的使用
18:Gridview內嵌DropDownList控件
19:Gridview結合JS,在客戶端結合CheckBox的使用
20:在Gridview中設置數據行的背景顏色
21:在Gridview中設置數據行的事件
22:在Gridview中設置數據行的其餘屬性
23:在Gridview中索引主鍵的使用
關鍵點:
n 下載FCKeditor。要下載FCKeditor2.4.2.zip和FCKEditor.NET版本的2個zi包
說明:FCKeditor2.4.2.zip是其最新的JavaScript文件和圖片。FCKeditory.NET.zip是ASP.NET調用的DLL在裏面。
n 分別解壓後把FCKeditory2.4.2.zip裏面的fckeditor目錄整個複製到項目中。
n 解壓FCKeditor.NET.zip包後在FCKeditor.net_2.2\bin\Debug目錄打到FredCK.FCKeditoryv2.dll。其它文件沒用,把此dll文件複製到項目中的bin目錄中。
n 引用FredCK.FCKeditorv2.dll.
第一步:
第二步:
n 導入到工具箱
在「工具箱」下右鍵
n 拖拽FCKeditor到頁面上
n 配置WebConfig
說明:BasePath是fckeditor所在路徑,fckeditor因爲咱們直接放網站目錄下這樣寫就能夠,若是您的網站多放幾層適當調整便可。 UserFilesPath是全部上傳的文件的所在目錄。爲何要設置成/Files這樣而不是~/Files,由於FCKeditor使用這個值來返回你上傳後的文件的相對路徑到客戶端。不然的話客戶訪問的時候就會取客戶的機器目錄而不是http形式的目錄。建議:Files要單獨作wwwroot目錄下的一個站點比較好,和咱們的站點FCKEditor平行。不要把它放FCKEditor裏,爲何呢?由於Files是要讓客戶有寫的權限的,若是放FCKEditor下很危險。
n Files目錄要有寫的權限。你根據本身網站需求設置那個賬號,本文爲方便設置User實際中你可能用ASP.NET賬號更合理。
n 修改fckeditor/fckconfig.js文件
n 下面以上傳圖片示例說明如何使用
點「瀏覽服務」
彈出窗口很容易報錯
若是報錯XML request error: Internal Server Error(500),極可能就是目錄路徑不對和寫權限沒有。
選擇圖像
最後效果
l 下載最新的zip(My97DatePickerBeta.zip)
l 解壓後放到網站裏面。
l 在頁面中引出js
l 效果以下
關鍵點:
關鍵點:
1.ASP.NET的兩種配置文件:maching.config、web.config。2.自寫下義錯誤配置節點。3.調試和運行時的配置。4.身份驗證和受權:身份驗證方式:Windows、Passport、Form、None。5.受權:Allow容許;deny拒絕;特殊符號:「*」表明全部用戶,「?」表明匿名用戶。
關鍵點:
1.建立和使用用戶控件的步聚。2.用戶控件的關鍵代碼@Control批指令。3.用戶控件與頁面的區別。4.什麼是自定義控件【ASP.NET自定義控件(Custom Control)是編譯的服務器端控件,它將用戶界面和其它功能都封裝到可複用的包中(dll),如驗證碼控件或FCKeditor】。5.事件的定義【定義事件消息、定義委託類型】。6.事件訪問器。7.htmlTextWriter類。
關鍵點:
1.web Service是可互操做的分佈式應用程序。
2.web Service使用Http和XMl進行通訊。
3.Web Service能夠穿越防火牆,真正實現自由通訊。
4.經過Soap實現異地調用。
5.webSerivce的開發步驟
建立Web Service
1、 打開vs2013,選擇文件->新建->項目。
2、 選擇【ASP.Net空web應用程序】,將其命名爲本身想的工程。
3、 而後右鍵點擊工程,添加->web服務。而後命名爲本身想要的服務名稱。
4、 在asmx文件中寫出本身想要開放的WebService方法。
5、 方法寫完後,右擊項目->發佈
選擇【文件系統】發佈,選擇發佈的物理地址,點擊【發佈】便可
在發佈的物理地址中會有這幾個文件。
打開IIS,右鍵點擊網站->新建網站
選擇網站名稱 ,剛剛發佈的物理地址,還有發佈的IP和端口,前後點完成。
而後網站就完成了。
、發佈WebService、調用WebService】
關鍵點:
l 爲何要學習ASP.NET MVC?
l ASP.NET MVC學習路線:要有c#、ADO.NET、html、javascript、ASP.Net WebForm的基礎。項目中實際用三層架構、ORM等訪問數據庫,可是此次的重點不是這些,所以咱們使用SQLHelper。
l 講課使用Chrome瀏覽器,不考慮瀏覽器兼容性問題。
l 使用Visual Studio 2013、.Net 4.5、 MS SQLServer2005及以上版本。
l MVC設計模式
l Razor引擎
l 控制器詳解
l 校驗
l MVC下的Ajax
l 路由
l 過濾器
l MVC高級
l MVC模式兩種理解:一種是表現模式,另一種是架構模式。它將應用程序分紅三個主要組件即:視圖(View)控件器(Controller)模型(Model)
l M: Model主要是存儲或者是處理數據的組件,Model實際上是實現業務邏輯層對實體類相應數據庫操做,如CRUD(create/read/update/delete)。它包括數據、驗證規則、數據訪問和業務邏輯等應用程序信息。ViewModel:視圖模型。V:View是用戶接口層組件。主要是將Model中的數據展現給用戶。ASPX和ASCX文件被用來處理視圖的職責。C:Controller處理用戶交互,從model中獲取數據並將數據傳給指定的View
l WebForm的開發方式
服務器端控件
通常處理程序+html靜態頁+Ajax
通常處理程序+html模板
l ASP.Net MVC的開發方式
2009年第一個開源項目版本發佈
更加開發、更多的新特色、社區活躍
不會取代WebForm
底層跟WebForm都是同樣的。管道上不一樣的處理而已
l 新建WebFrom項目
l Label的例子:耦合在一塊
l 在page類中添加一個List
l 在前臺用for循環遍歷顯示list
l 分層思想
l WebFromCodebehind僞分離仍是繼承關係
l MVC 代碼和頁面完全分離,控制器和視圖都是分別單獨的類型。耦合度最低
l 新建一個MVC項目
l 認識Web項目中的Controller
l 認識Web項目中的View
l 認識Web項目中的Model
l 建立一個控制器HomeController,添加一個ShowDemo的方法,而後在方法中往視圖傳遞一個字符串。在ShowDemo方法上建立視圖,並在頁面中展現字符串內容。
l Controller放到controllers文件夾中,而且命名方式以Controller結尾。
l 每一個Controller都對應View中的一個文件夾,文件夾的名稱跟Controller名稱相同。
l Controller中的方法名都對應一個View視圖(非必須,可是建議這麼作)並且View的名字跟Action的名字相同。
l 控制器必須是非靜態類,而且要實現IController接口。
l Controller類型能夠放到其餘項目中。
l 全部的視圖必須放到Views目錄下。
l 不一樣控制器的視圖用文件夾進行分割,每一個控制器都對應一個視圖目錄。
l 通常視圖名字跟控制器的Action相對應(非必須)。
l 多個控制器公共的視圖到到Shared。
l ViewData是Controller的屬性,此屬性是繼承ControllerBase而來。
l ViewPage下也有一個ViewData的一個屬性。
l 控制器的Action方法執行完成後,返回ViewResult,而後MVC框架會執行ExcuteResult方法時,Controller中的ViewData數據傳遞給ViewPage類,其實就是把Controller的ViewData賦值給ViewPage頁面的ViewData屬性。
l 用戶列表頁面(建立數據、使用SqlHelper),加載用戶列表數據到頁面中。【三層、EntityFramework等不是本次課程的重點】
l 用戶註冊頁面。(校驗後面再補充)
l 目地:熟悉MVC開發的方式、MVC下的請求處理響應的模型
l 在ASP.Net MVC中微軟並無提供相似服務器端控件那種開發方式式,畢竟微軟的MVC就是傳統的請求處理響應的迴歸。因此以前的那種事件響應的模型,拋棄服務器端控件也理所固然。可是若是手寫Html標籤效率又比較低,可重用度比較低。
l 微軟爲開發人員快速開發前臺頁面提供了豐富的HtmlHelper的輔助類,輔助咱們快速開發前臺頁面,也提供了可擴展的接口,前臺頁面的標籤能夠能夠作到高度可重用。
l HtmlHelper還繼承了Model元數據的校驗、ViewData和ViewBag數據綁定裝配等自動化功能,也是很是實用的功能
l HtmlHelper還提供了強類型標標籤更是在開發階段就實現編譯檢測。提升了編碼的效率。
l HtmlHelper還提供了模板編輯功能、頁面嵌套等功能,後面一一介紹。
l 在MVC中全部的請求都歸結到控制器下面的Action。因此全部的請求都是要指定一個具體的Action,Url的格式是根據路由規則來定的。好比,默認路由規則中定義請求的地址的格式:{Controller}/{Action}/{id},則請求的url地址應該是:http://localhost/Home/Index/1
l 咱們能夠看到請求的地址再也不跟WebForm中的請求地址就是頁面的相對路徑。而在MVC中請求的地址是一個邏輯地址,而不是物理的路徑
l 在頁面中添加超級連接的時候href屬性就有了變化性。也就是當路由規則發生變化的時候,href屬性也必須跟着變化。
l 屏蔽路由規則的變化對a標籤等產生的影響,MVC給咱們提供了Url.Action()方法。可是依然很是笨重。
l 最完美的解決辦法就是:HtmlHelper.Action()
l ActionLink
生成結果:
l RouteLink
生成結果:
l Form
l TextBox,Hidden
l TextArea
l CheckBox
l DropDownList
dropDownList與TextBox等控件不一樣,它使用的是select標記。它須要兩個值:在下拉列表框中現實的列表,和默認選項。而自動綁定一次只能綁定一個屬性,所以您須要根據要選擇是綁定列表,仍是默認選項。
DropDownList擴展方法的各個重載版本「基本上」都會傳遞到這個方法上:
若是沒有指定selectList,改方法將自動綁定列表,即從ViewData中查找name所對應的值。若是提供了selectlist,將自動綁定默認選項,即從selectList中找到Selected屬性爲true的selectedListItem
例1:若是在Action方法中有以下代碼:
那麼輔助方法將率先從ViewData中獲取key爲list的項,若是該項爲IEnumerable<SelectedListIItem>類型則綁定到下拉列表框中,不然將拋出InvalidOperationException。異常,因爲第二個SelectListItem的Selected爲true,則默認選中第二個。
例2:若是Action中代碼以下:
那麼輔助方法將ViewData[「list」]綁定爲下拉框,而後從ViewData中獲取key爲selected的項,並將下拉list中Value值與該項的值相等的SelectListItem設爲默認選中項。
以上兩種方法儘管能夠實現DropDownList的正確顯示,可是並不是最佳實踐。在實際項目中,咱們更但願在代碼中使用強類型,例如上面例子中,SelectListItem的Text和Value原本就是User對象的Name和Age屬性,然而上面的代碼卻絲毫體現不出這種對應關係。若是User列表是從數據庫或其餘外部資源中得到的,咱們難道還要用這種方式來綁定嗎?
這顯然是咱們所沒法容忍的。那麼什麼是最佳實踐呢?
ASP.NET MVC爲DropDownList和ListBox(都在html中使用select標記)準備了一個輔助類型:SelectList。SelectList繼承自MultiSelectList,然後者實現了IEnumerable<SelectListItem>。也就是說,SelectList能夠直接做爲Html.DropDownList方法的第二個參數。
MultiSelectList包含四個屬性,分別爲:
顯然,做爲DropDownList來講,選中項不可能爲IEnumerable,所以SelectList提供了一個新的屬性:
同時,SelectList的構造函數以下所示:
因而咱們的代碼變爲:
l 擴展方法的三個要素:靜態類、靜態方法、this關鍵字
l 案例:擴展自定義標籤
l 解決返回的標籤被HtmlEncode的問題
l 實現用戶的刪除
l 在列表頁面添加一個修改列
l 實現點擊修改連接頁面跳轉的修改詳情頁面
l 實現修改頁面邏輯
l 體會雙向數據裝配:控制器的Action在執行以前會自動把請求中數據裝配到Action的方法參數裏面去或者是參數的屬性裏面去。控制器往視圖傳遞的數據會自動裝配到頁面的HtmlHelper生成的控制上去。
l 控制經過ViewData容器把數據傳遞到View以後,View在渲染Html標籤的時候會自動從ViewData中獲取數據進行填充標籤。
l 表單提交到控制器的時候,執行控制器的Action以前會自動將表單中的內容填充到方法的參數或者參數的屬性面去。
l 案例:用戶註冊
l 在MVC3.0版本的時候,微軟終於引入了第二種模板引擎:Razor。Razor在減小代碼冗餘、增長代碼可讀性和vs智能感知方面,都有着突出的優點。Razor一經推出就深受全部Asp.Net開發者的喜好。
l Razor文件類型:Razor支持兩種文件類型,分別是.cshtml和.vbhtml,其中.csHtml的服務器代碼使用了C#的語法,.vbhtml的服務器代碼使用了vb.net的語法。
l @字符是Razor中的一個重要符號,它被定義爲Razor服務器代碼塊的開始符號
l 案例:在頁面中輸出當前日期
<span>@DataTime.Now.Tostring(「yyyy-MM-hh」)</span>
l 可使用@{code}來定義一段代碼塊。
l RaZor支持代碼混寫。在代碼塊中插入Html、在Html中插入Razor語句都是能夠的。
l 案例:For循環嵌套輸出html標籤
l 輸出原生的字符串:@Html.Raw(html)
l 例如:@Html.Raw(「<h2>Razor</h2>」)
l HtmlString類型和MvcHtmlString類型字符串輸出
l 例如:IHtmlString html=new HtmlString("<font color='red'>文本</font>");
l C#代碼塊能夠C#自帶的註釋符合:// 、/**/等
l Razor服務器端註釋爲:@* 註釋內容 *@
。
l 下載CKEditor http://ckeditor.com/download
l 把解壓後的目錄拷貝到Content目錄中。
l ckEditor在asp.net mvc中的使用就至關簡單了,只須要在腳本中執行CKEDITOR.replace(id);id 爲你須要擁有編輯功能的textarea的id
View:
Controller:
這裏要注意[ValidateInput(false)]特性,它的目的是防止在提交時報「檢測到有潛在危險的客戶端輸入值」。
l 運行後的效果圖以下:
l 控制器的約定:必須實現IController接口、必須以Controller爲結尾、必須非靜態類。
l 在Action中能夠訪問HttpContext中全部的相關數據:好比Session、Cookie、也能夠設置響應總之跟WebForm中Page類能作的,在Action中都能作。
l 控制器的Action的各類返回值。
l 職責 :Controller負責將獲取Model數據並將Model傳遞給View對象,通知View對象顯示。
l 一個Controller能夠包含多個Action。每個Action都是一個方法,返回一個ActionResult實例。
l 一個Controller對應一個XXController.cs控制文件,對應在View中有一個XX文件夾。通常狀況一個Action對應一個Aspx頁面。
l 在項目中咱們引用了System.web.Routing。
l 微軟將此項目單獨出來,並無開源代碼。
l Routing的做用:肯定Controller 、肯定Action 、肯定其餘參數、根據識別出來的數據,將請求傳遞給Controller和Action。
l MVC項目是URL請求驅動。
l 爲何訪問localhost/Home/Index會傳遞給HomeController中名爲index的action(即HomeController類中的index方法)?怎麼實現的呢?
l Global.asax.cs文件中定義了路由的識別規則
l 咱們的URL:localhost/home/index
l Localhost是域名,因此首先要去掉域名部分:home/index。
l 對應了上面代碼中的這種URL結構:{controller}/{action}/{id}
l 由於咱們創建了這種URl結構的識別規則,因此可以識別出Controller是home,action是index,Id沒有則爲默認值」」。
MapRoute()方法
l MapRout參數介紹
Name參數:規則名稱,能夠隨意起名,不能夠重名,不然會發生錯誤:路集合中已經存在名爲「Default」的路由。路由名必須是惟一的。
url參數:url獲取數據的規則,這裏不是正則表達式,將要識別的參數括起來便可,好比:{controller}/{action}。最少只須要傳遞name和url參數就能夠創建一條Routing(路由)規則。好比實例中的規則徹底能夠改成:routes.MapRoute(「Default」,」{controller}/{action}」)。
l defaults參數:
url參數的默認值.若是一個url只有controller: localhost/home/
並且咱們只創建了一條url獲取數據規則: {controller}/{action}
那麼這時就會爲action參數設置defaults參數中規定的默認值. defaults參數是Object類型,因此能夠傳遞一個匿名類型來初始化默認值:
new { controller = "Home", action = "Index" } 實例中使用的是三個參數的MapRoute方法:
routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults );
l constraints參數:
用來限定每一個參數的規則或Http請求的類型.constraints屬性是一個RouteValueDictionary對象,也就是一個字典表, 可是這個字典表的值能夠有兩種:
用於定義正則表達式的字符串。正則表達式不區分大小寫。
一個用於實現 IRouteConstraint 接口且包含 Match 方法的對象。
經過使用正則表達式能夠規定參數格式,好比controller參數只能爲4位數字:
new { controller = @"\d{4}"}
l 經過第IRouteConstraint 接口目前能夠限制請求的類型.由於System.Web.Routing中提供了HttpMethodConstraint類, 這個類實現了IRouteConstraint 接口. 咱們能夠經過爲RouteValueDictionary字典對象添加鍵爲"httpMethod", 值爲一個HttpMethodConstraint對象來爲路由規則添加HTTP 謂詞的限制, 好比限制一條路由規則只能處理GET請求:
l httpMethod = new HttpMethodConstraint( "GET", "POST" )
完整的代碼以下:
l routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" }, // Parameter defaults new { controller = @"\d{4}" , httpMethod = new HttpMethodConstraint( "GET", "POST" ) } );
l URL路由實例講解
對於一個網站,爲了SEO 友好,一個網址的URL層次不要超過三層:
Localhost/{頻道}/{具體網頁}
其中域名第一層,頻道第二層,那麼最後的網頁就只剩下最後一層了。若是使用默認實例中的」{controller}/{action}-{其它參數}」的形式會影響網站的SEO。
l URL路由實例講解。
源碼在RouteConfig.cs中
l Url實例總結
實現的功能:
(1) 訪問localhost/hotels/list-beijing-100,200-3會訪問酒店頻道的列表頁,並傳入查詢參數。
(2) 訪問localhost/hotels下面的任何其餘頁面地址,都會跳轉到酒店首頁。
(3) 訪問localhost下面的任何地址,若是未匹配上面2條,則跳轉到首頁。
簡單總結:
(1) Routing規則是有順序(按照添加是的順序),若是一個URL匹配了多個Routing規則,則按照 第一個匹配的Routig規則執行。
(2) 因爲上面的規則,要將具體頻道的具體頁面放在最上方,將頻道首頁和網站首頁放在最下主。
(3) {*values}表示後面能夠任意的格式。
l 使用RouteDebug輔助類
l 在Global.asax添加以下代碼:
Protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}
l .NET框架中的System.ComponentModel.DataAnnotations命名空間包括了衆多可爲您所用的內置驗證特性,介紹用最多的其中的四個:
[Required][StringLength][Range]和[RegularExpression]。
l 定義本身的定製驗證特性,而後應用它們。你能夠經過繼承自System.ComponentModel.DataAnnotations命名空間中的ValidationAttribute基類,定義徹底定製的特性。
l 服務器端校驗只須要在Action中校驗:ModelState.isValid屬性便可。True就是校驗經過,false反之不經過
l 要使用客戶端驗證,必須引入JS腳本支持(jquery的校驗)
l 添加語句
<%Html.EnableClientValidation();%>(MVC3、4中默認開啓)
l WebConfig中能夠設置全局客氣端校驗是否開啓或關閉
l 使用Jquery作相關的Ajax請求
l 使用微軟提供的Ajax請求腳本。
l 項目大一點總會有相關的AOP面向切面的組件,而MVC(特指:ASP.Net MVC,如下皆同)項目中呢Action在執行前或者執行後咱們想作一些特殊的操做(好比身份驗證,日誌,異常,行爲截取等),而不想讓MVC開發人員去關心和寫這部分重複的代碼那咱們能夠經過AOP截取實現,而在MVC項目中咱們就能夠直接使用它提供的Filter的特性幫咱們解決,不用本身實現複雜的AOp了。
l
l ActionFilterAttribute默認實現了IActionFilter和IResultFilter。而ActionFilterAttribute是一個Abstract類型,因此不能直接使用,由於它不能實例化,因此咱們想使用它必須繼承一下它而後才能使用
l 案例:Action過濾
l AttributeUsage特性用於設置標籤
l Gloable Filter容許咱們設置全局過濾器。
l 異常過濾器:當咱們Mvc站點出現了異常的時候會自動執行異常過濾器裏面的方法。
l Asp.Net MVC 提供了區域的功能,能夠很方便的爲大型的網站劃分區域。
l 可讓咱們的項目不至於太複雜而致使管理混亂,有了區域後,每一個模塊的頁面都放入相應的區域內進行管理很方便。
l 在項目上右擊建立新的區域。
l 區域的功能相似一個小的MVC項目,麻雀雖小五臟俱全,有本身的控制器、模型、視圖、路由設置。
l 區域的路由設置是優先的。
l 傳統的頁面嵌套都是採用iframe方式,這樣不利於SEO的優化,通常蜘蛛碰到Iframe是不進行抓取的,webForm中,採用的是用戶控制的方式,MVC 中採起頁面渲染
l 模板頁必須放到共享的文件夾中。
l WebForm視圖引擎的模板頁跟以前的沒有什麼區別,也就是採用母板頁。
l Razor引擎引入渲染區域的概念。
l 全部頁面啓動的時候ViewStart文件夾先執行。
l RanderBody和RenderSection
l 實例
(一) 在Shared文件夾中建立_Layout3.cshtml
(二)建立一個頁面使用次模板
JSON的全稱是」JavaScript Object Notation」,意思是JavaScript對象表示法,它是一種基於文本,獨立於語言的輕量級數據交換格式。XML也是一種數據交換格式,爲何沒有選擇XML呢?由於XML雖然能夠做爲跨平臺的數據交換格式,可是在JS(JavaScript的簡寫)中處理XML很是不方便,同時XML標記比數據多,增長了交換產生的流量,而JSON沒有附加的任何標記,在JS中可做爲對象處理,因此咱們更傾向於選擇JSON來交換數據。這篇文章主要從如下幾個方面來講明JSON。
補充:正則表達式
正則表達式是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱爲「元字符」)。模式描述在搜索文本時要匹配的一個或多個字符串。
l C#經常使用的正則表達式
l Js經常使用的表達 式。
第十六章En
1. 基本選擇器
2. 層次選擇器
3. 過濾選擇器
4. 表單選擇器
1.查找節點
2.建立節點
3.插入節點
4.刪除節點
5.複製節點
6.替換節點
7.包裹節點
8.屬性操做
9.樣式操做
10.設置和獲取HTML、文本和值
11.遍歷節點樹
12.CSS-DOM操做
1.表單應用
2.單行文本框應用
3.多行文本框應用
4.複選框應用
5.下拉框應用
6.表單驗證
7.表格應用
8.表格變色
9.表格展開關閉
10.表格內容篩選
1.Ajax的優點和不足
2.Ajax的優點
3.Ajax的不足
4.Ajax的XMLHttpRequest對象
5. jQuery中的Ajax 106
6. load()方法 106
7. $.get()和$.post()方法
8. $.getScript()和$.getJson()
9. $.ajax()方法 120
10.序列化元素 123
11. jQuery中的Ajax全局事件