平时我们当Action中编码的时光,我们还知情有的Action返回值类型都是ActionResult,并且我们的返回值也是各种奇葩,比如:Json(),Content(),

View()等等。。。当你写这个代码的时光,你是休是有一样栽大庭广众的偷窥欲。。。那立篇我们就算协同来拘禁无异拘禁。

无异于:实例代码

 1     public class HomeController : Controller
 2     {
 3         public ActionResult Index()
 4         {
 5             ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
 6 
 7             return View();
 8         }
 9 
10         public ActionResult About()
11         {
12             ViewBag.Message = "Your app description page.";
13 
14             return Json("");
15         }
16 
17         public ActionResult Contact()
18         {
19             ViewBag.Message = "Your contact page.";
20 
21             return Content("");
22         }
23     }
  1. View()

  还是老办法,我们为此ILSpy来探望它的源码会是如何。。。

 json 1json 2

自从点的图中,我们盖可以见见,其实我们在Action中召开View()的时节,其实其中只有是做了一个new
ViewResult的操作,然后代码继续会于

ViewEngineCollection这个集中错过搜寻我得的View,那便有人疑问了,ViewEngineCollection这个集怎么填的,其实自己吗不亮堂。。。

然而我们可以看出,如果当Collection中能够找到View的话,会回去一个viewEngineResult回去,如果没找到则经过SearchedLocations将追寻路

径全部打印出来。。。就如下这样,是不是充分有趣?

json 3

2.Json()

  
以时富客户端的不可开交背景下,几乎从未先后不Json()吧,我们一般都是管Model塞给Json就推行了,到了客户端就早已是Json字符串了,这个一定

凡是肯定的,下面我们吧是连续看她的源码里面究竟怎么打的。。。 

 json 4json 5

json 6

于地方的代码中得望,其实所谓的Json并从未呀。。。仅仅是response.write(xxxx.serialize(xxxx))而已,
本以为是啊了不起上之事物。。。

其实呢??? 你懂的。。。

 

  1. Content()

 
当你掌握了Json()之后,我以为你该本着Content的原理已经老了解了,因为Json还是需要用javascriptSerializer序列化器来序列化Model,然后才

大凡确实将序列化后的json送至客户端,你呢怀疑到Content根本就无见面如此做,而是只有以string喷到前端即可。。。对莫对准。。。

json 7

json 8

好了,夜深了。。。就概括分析到这里了,其他的几乎单Result都是于Controller类下面的,如果你愿意就此ILSpy去查的话,那么任何还不是提问

开,比如下面我以Controller中一个简练的截图就来5只Result了。。。

json 9

相关文章

网站地图xml地图