前言
以下是根據(jù)網(wǎng)上的一些資料整理的一些關(guān)于ASP.NET MVC的一些問題
問題
- View函數(shù)的功能是什么遭垛?
創(chuàng)建ViewResult對象將會渲染成視圖來給用戶反饋
- ViewResult創(chuàng)建了ViewPageActivator對象
- ViewResult 選擇了正確的ViewEngine,并且會給ViewEngine的構(gòu)造函數(shù)傳ViewPageActivator對象的參數(shù)
- ViewEngine 創(chuàng)建View類的對象
- ViewEngine 調(diào)用View的RenderView 方法堡妒。
- ActionResult和 ViewResult的關(guān)系是什么?
ActionResult是抽象類溉卓,而ViewResult是ActionResult的多級孩子節(jié)點皮迟,多級是因為ViewResult是ViewResultBase的子類,而ViewResultBase是ActionResult的孩子節(jié)點桑寨。 - 什么是ContentViewResult
是HTML響應(yīng)而ContentResult是標(biāo)準(zhǔn)的文本響應(yīng)万栅,僅返回字符串類型。區(qū)別就在于ContentResult是ActionResult的子類西疤。Result烦粒? - ViewData和ViewBag對比:
ViewData | ViewBag |
---|---|
它是Key/Value字典集合 | 它是dynamic類型對像 |
從Asp.net MVC 1 就有了 | ASP.NET MVC3 才有 |
基于Asp.net 3.5 framework | 基于Asp.net 4.0與.net framework |
ViewData比ViewBag快 | ViewBag比ViewData慢 |
在ViewPage中查詢數(shù)據(jù)時需要轉(zhuǎn)換合適的類型 | 在ViewPage中查詢數(shù)據(jù)時不需要類型轉(zhuǎn)換 |