小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

asp.net MVC4的執(zhí)行流程

 昵稱10504424 2013-12-26

MVC在底層和傳統(tǒng)的asp.net是一致的,在底層之上,相關流程如下:

1)Global.asax里,MvcApplication對象的Application_Start()事件中,調用 RouteConfig.RegisterRoutes(RouteTable.Routes); 來注冊路由規(guī)則。

2)RouteConfig.RegisterRoutes()方法里,給出的默認規(guī)則為 {controller}/{action}/{id} .

a. 在有特別需要的時候,到這里來修改規(guī)則。

b. 未指明Controller默認為HomeContoller,未指定Action默認為Index, 也就是說,直接訪問站點時,會默認導航到HomeController下的Index Action.

c. Action后跟的內(nèi)容會被映射為名為id的參數(shù)。 比如: User/Delete/1 會匹配到 UserController的 Delete(int id) 方法。

d. Action分為[HttpGet]和[HttpPost]兩種,與HTTP的GET和POST方式對應。 即直接請求的URL只會匹配[HttpGet]方法,而未注明[HttpPost]的方法即默認為[HttpGet]. Post的Action一般會有一個Model參數(shù),MVC會自動將表單里的數(shù)據(jù)按約定的規(guī)則填充到Model實體對象里。 這個約定的規(guī)則,就是表單的Name與屬性名稱有個對應規(guī)則。

3)MVC負責按上述規(guī)則將執(zhí)行流程導入合適的Action中,即Controller的某個方法中。

4)Action中,可以直接返回字符串,輸出到瀏覽器, 也可以返回到ActionResult對象, 該對象指向一個View頁面,并且附帶了一些屬性作為傳遞數(shù)據(jù)的容器。

ActionResult通常通過調用Controller對象的View(…)方法得到,也可以通過Redirect()方法或RedirectToAction()方法得到, 不過后面兩種方法主要用于跳轉到其它Controller,因為后面的方法不能傳遞Model對象。 Action向View傳遞數(shù)據(jù),可以通過Model、ViewBag或ViewData三種容器,其中Model是強類型的,所以是最優(yōu)先的方式。

5)View中,會先執(zhí)行本身,再執(zhí)行模板頁和子頁, 但是執(zhí)行順序和頁面內(nèi)容的輸出順序并不一致。模板中后輸出的內(nèi)容可以在頁面中先輸出的內(nèi)容的前面.

在View中,需要提交數(shù)據(jù),或跳轉頁面里,均會通過Route導向某個Controller的Action。 View中向Action中傳遞數(shù)據(jù),其最終原理是通過http的GET和POST等方式(含AJAX的), POST方式會通過上面提到的約定規(guī)則,將表單中的數(shù)據(jù)填充到Model參數(shù)對象中。 在Action中,可以訪問通過參數(shù)傳遞進來的Model對象,也可以訪問原始的Request對象中的QueryString參數(shù)或Form集合, 當然Model對象是優(yōu)先的方式。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多