新普金娱乐网址


数学读《从0到1》的十大收获

唐国明《红楼梦曹文考古复原:第1至100回》第8回

数学【ASP.NET MVC类别】浅谈ASP.NET MVC 控制器

  • 十二月 27, 2018
  • 数学
  • 没有评论

View
Code

《阿狸》里说“摸索着,彷徨着,浮躁着,只有阿姨的声音萦绕在耳边,于是,在这个,在这一个盲目的社会风气,我看不见前方,却仿佛不再单独前行。”这话尽管不太应景,但在那么些忧郁的小日子里我们出生入死的面对过,是的,一切总会过去的,至少这么些年轻时光里的黑暗与黄色忧郁是我们一步步走过来的,那就够了。

View
Code

数学 1

数学 2数学 3

当自家依然小朋友的时候,总喜对着窗外的麻将柔声说话,仿佛看着它们,自己才是这里面的一只。

4.2 操作过滤器

自我说不出什么多情好听的词句,总是咿咿呀呀的跟在岳母的身后,看着街坊家的男女笑着、闹着,好生欢喜。阿姨受不住我的过度安静便将羞涩的自家推了出去,却抵可是死死抱住他倔强地不肯离去的自身,最终也是讪讪作罢了。是呀,我是从小羞涩的丫头。
拔出的时光让着外面的树丫有些纳闷的绿,藤条悠悠地缠绕着,逆着温温的阳光竟也看的不甚清晰。本人不去顶牛这几个子事,总是疲惫的窝在宽宽的横凳上,或愤怒着怎么一根直线的自己要去解着数学根式,或连续被缠绕进这些根号里不可能自拔,却又说不出来个所以然来,我是笨着的对吧?
那时候的天总是很蓝很蓝的金科玉律,街道是破旧的光景,这种现在见不到的小零食和小玩具总是出现在追忆里。后座的不知什么人家的幼儿总是一如既往的用原子笔不卑不吭的在自身的衣着上作画,什么火影忍者什么铁臂阿童木,气可是的我也只是在涨的变红的脸颊后,瘪一瘪嘴作罢,用不和他争执的内心独白来慰藉着自己这别扭而又自卑的思想。是呀,我不恼的。

5  Controller动作结果

而自我,我只是年轻多愁,怨天,忧思,左不过感伤,但这么的日光里,我是活着的,用着这鲜活的性命歌唱、留念。听风洗礼,看云卷云舒的天生丽质,看着你或她爱着的特别什么人的侧颜。我是爱恋着那个世界的,它的日光,它的尘埃,它的云彩,它的土地,甚至于它的风景。我可以分享着这总体安逸之时看一本书香,听一曲离殇,品一杯白开,自是悠悠地凝望。管它沧桑巨变仍然海市蜃楼,天仍然湛蓝的,暖暖的,这就是自身的年少,是的,我的,属于本人的,谁也夺不走。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace MVCControllerDemo.Controllers
 8 {
 9     public class ControllerDemoController : Controller
10     {
11         //
12         // GET: /ControllerDemo/
13 
14         [HttpGet]
15         public ActionResult Index()
16         {
17             return View();
18         }
19     }
20 }

自由是理所应当的事,长大了就得学着一些伪善、麻烦。于是乎人一连爱往着这人群中去的,说怎么着韩潮、日流,说如何美妆华衣,说哪些流行,一笑而过和盲目的言情过后恐而所剩无几吧,不去理视且罢。只消转过头,听着vae的曲子,做着唏嘘的心灵弗叹,而她们都太闹,这多少个世界和时代又都好忙,忙的不知所以,忙的欣喜若狂。

  • 即身份验证
  • 授权
  • 操作前后处理
  • 结果前后处理
  • 错误处理。

俺们的后生还未完待续,没有下文的将来才是最有念想的,匆匆而过的感慨始于叹息,终于莞尔。就如此,我们走着看着,幸福地走向很远很远的年景里去。回忆,是回不去的来往,没有匆匆,唯有不悔。

View
Code

近期,就像《匆匆这年》里的这句话“不悔梦归处,只恨太匆忙”说的一样,一切的往返都是值得的,我对于这几年的时节没有怨念只是太遗憾,遗憾没有做更多的有意义有情调的政工来填充它,青春的概念就是付诸与收获,曾经,是恒久回不去的过往。

【05】Professional Asp.net MVC 5

从小女孩到小姑娘我有不少的焦虑,那中间的酸酸甜甜只有具有过所谓现在总的来说有着些许矫情的常青时光才会分晓,所以我不认为长大了就是离着幸福更近一步了,长大需要付出需要采用,更需要用心去洗礼。

 (1)继承ActionResult的动作结果

全方位都趁机人体上的成形和没有情调的十三岁的往来而略带不同了,那几岁的时刻里有一种叫做荷尔蒙的事物冲撞着原来淡淡的青涩,哦,原来男生和女子之间是见仁见智的,古人说的男女有别在这多少个时候却也多多少少的应景。粉青色的笑脸配就着珍贵或爱恋是其一年纪一触即发的话题,小心且敏感的满载在她们之中。能否说做要好是个陌生人,没有喜欢,唯有牵强的与老人应对着像坐过山车一般战表,永远一塌糊涂的数学,永远是数学分数几倍之多的外国语,长久的平淡。
不错,这就是不足老师欢爱的又一个自身,也是再一遍的同室操戈,倔强而又自卑的往返。但却仍旧相信只有静待时光的谜底,这里会具备些许的云开月明。

 1 //方法1:RedirectResult作返回类型
 2 public RedirectResult redirectResult()
 3         {
 4             return Redirect("https://www.google.com.hk/");//具体的URL
 5         }
 6 
 7 //方法1: ActionResult作返回类型
 8 public  ActionResult redirectResult()
 9         {
10             return Redirect("https://www.google.com.hk/");//具体的URL
11         }

本小说实属作者个人观点请勿私自转载或引用!!!

ViewData

生张熟魏,迎来送往里,我还好,只是还未老。

eg3:ContentResult

空空记念里最多的便是全体小学时代背着藏蓝色米老鼠图案书包、梳着羊角辫的自身,穿着农村曾祖母纳给本人的鞋,褐色的布带子,细密的针脚都暗自的映在自己的脑海里,脖子上的红领巾总是从最鲜艳的颜色戴到暗棕色,我居然喜欢看它被风吹起来的样子,至少这让自身觉着我或者喜欢的。我许是个好孩子,一直都是安安静静的金科玉律,不哭不闹,乖巧的求学吃饭回家,乖乖地长大,一切如行云流水的华年进行着。自是安好便也不觉得有怎样了,一来二去,独来独往惯了,不求人,不多说。佯自喜欢着。

数学 4

《挪威的树林》里有句话,“普通的人,生在平凡的家中里,一张普通的脸,普通的战绩,想普通的作业。”正确,这就是一般的长大与枯燥的大概,而我又正好是那句话的有血有肉注脚,我的留存表达地并不是多数人的年青都非得是感人轰轰烈烈的打架斗殴逃课暗恋,也并不是所有人的常青时光都是用和死党从这个城市去往另一个城池里面的远足来避开应试教育的乏味与枯燥。我的年青就是这样子的经常与无奈。现在自我一度不再年幼,没有了太多的娃娃的天真烂漫与对事物的好奇心,更多的是对前途的畏惧迷茫和惨痛。

 当需要出示接收窗体信息时,可以成立六个同名的Action,分别用[HttpGet](突显窗体HTML)和[HttpPost](接收窗体输出的值)属性来限制。

如此这般的我依稀记得,高考前的这些月里各种卷子与复习资料的充满,不计其数的碳素笔芯被撇下在了纸篓里,楼层间的脆响读书声,老师在黑板上刷刷板书的粉笔头的折断声,为了名次的前行与成就的升迁代课老师的真心引导声以及后排同学间窃窃私语被老师发现后罚站的现象。而当自身重新想起起它们的时候我一度脱掉了校服很久了,不知否,被消费了小心境改造过的宽大校服裤脚是否还会再塞进去现在囤积起来的的脂肪,而我仍旧淡忘了曾今校服的颜料了与条纹了……

数学 5

存在过,就不后悔。

 

越精通,就越觉得无助

数学 6数学 7

毋庸置疑,我已经是当代的大有人在大学学子了。虽然这么,可我仍旧不敢相信我渐渐成熟的脸孔了和随着日历翻过年年增长的岁数,头发长了又长,剪了又剪。生命不停的拨节生长,万物轮回了再轮回,生生不息。我不可知坦荡荡的收受自己早已改成了一个社会人的萧瑟。我离学生时代的偏离只会被越拖越远,总是和舍友打趣很快互相就会嫁做人妇。没人会领会我们的CD故事会播放至何地,只是花开此时且行且体贴吧。高校的青翠时光也会没有的,只是别太遗憾就好、就好。

 1 //方法1:ContentResult作为返回类型
 2 public ContentResult Index()
 3         {
 4              return Content("Hello World");
 5         }
 6 
 7 
 8 //方法2:ActionResult作为返回类型
 9 public ActionResult Index()
10         {
11             return Content("Hello World");
12         }

而在现行长大的年生里,苍茫的世界,没有人会在乎宇宙是如何轮转的,没有人会日益悠悠的去驻足街边的曙光,所以也没人可以躲开命局的布局。长大了,才通晓有为数不少的烦心让我们去忧虑,可是却绝非太多的时间去感伤,因为我们多了些面对未来责任的胆量。

数学 8

数学 9

当Controller被MvcHandler选中之后,下一步就是经过ActionInvoker选定合适的Action来运作。在Controllr中的每个Action可以定义0到三个参数,ActionInvoker会遵照当下的RouteValue与客户端传来的多少准备好可传唱Action参数的多寡,最终正式调用Controller中被选中的百般Action方法。参数传入的性能都是由此一种名叫模型绑定(Model
Binding)机制,从RequestContext取得数据,并将数据对应或传播方法的参数中,让Action不用再像往日ASP或ASP.NET
Web
Forms中时时利用的Request.Fomr或Request.QueryString等目的来获取客户端的多寡,通过自定义的模型绑定,甚至足以让您对应除去Request.Form或Request.QueryString以外的数量来自,例如:HTTP
Cookies、HTTP Headers等等。

十几岁,有着与这多少个年龄不合的老道与生疏、凉薄的脾气、很多的自尊心,这样的那么。自卑怯懦是有所的吗,一味地沉默总会被人忽视的,不过再翻飞的笑闹都只是说话的云烟,我自觉得淡淡的沉默为啥不是一种另外的调头?

 (3)例子

在MVC框架中,System.Web.Mvc命名空间下的ControllerBase中,对ViewBag、ViewData和TempData五个属性的概念如下

如上为Controller的中坚运行过程。Controller在运作时还有一层所谓的动作过滤器机制,分为如下四种基本项目:

(1)ViewData和TempData属性均重返一个装有字典结构的多寡容器,即字典类型的key/Value对,ViewBag为Dynamic类型。

(2)TempData存储临时数据,并且安装的变量在被第一次读取后会被移除,即TempData设置的变量只可以被读取一回。(why?)

数学 10数学 11

数学 12数学 13

 注释:假诺动作方法上尚无嵌套任何限制属性,那么客户端浏览器发送任意HTTP动词都会活动选定到相应的Action。

(1)Controller必须为公开系列;

View
Code

View
Code

10  版权

  • 感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同提高。
  • 博主网址:http://www.cnblogs.com/wangjiming/。
  • 极少一些随笔利用读书、参考、引用、抄袭、复制和粘贴等多种措施组成而成的,大部分为原创。
  • 如你喜爱,麻烦推荐一下;如你有新想法,欢迎指出,邮箱:2016177728@qq.com。
  • 可以转载该博客,但不可能不有名博客来源。

(2)动作过滤器(Action Filters);

(2)继承关系

除了,还有其它一种过滤器,即重写过滤器,它同意为全局或控制器的默认集合制定例外意况。

TempData

(1)如下只是给出方法样式,不做实际代码。

 1  [Dynamic]
 2         public object ViewBag
 3         {
 4             [return: Dynamic]
 5             get
 6             {
 7                 Func<ViewDataDictionary> viewDataThunk = null;
 8                 if (this._dynamicViewDataDictionary == null)
 9                 {
10                     if (viewDataThunk == null)
11                     {
12                         viewDataThunk = () => this.ViewData;
13                     }
14                     this._dynamicViewDataDictionary = new DynamicViewDataDictionary(viewDataThunk);
15                 }
16                 return this._dynamicViewDataDictionary;
17             }
18         }

数学 14数学 15

2   Controller体系和方法

 1 public TempDataDictionary TempData
 2         {
 3             get
 4             {
 5                 if ((this.ControllerContext != null) && this.ControllerContext.IsChildAction)
 6                 {
 7                     return this.ControllerContext.ParentActionViewContext.TempData;
 8                 }
 9                 if (this._tempDataDictionary == null)
10                 {
11                     this._tempDataDictionary = new TempDataDictionary();
12                 }
13                 return this._tempDataDictionary;
14             }
15             set
16             {
17                 this._tempDataDictionary = value;
18             }
19         }

7  ActionResult解说

View
Code

1  public ActionResult redirectResult()
2         {
3             return Redirect("https://www.google.com.hk/");//具体的URL
4         }
5 
6         public RedirectToRouteResult redirectToRouteResult()
7         {
8             return RedirectToAction("Index");
9         }

数学 16

1   概述

eg1:ViewResult

一般地,在定义Controller时,采纳三种形式,即落实IController和持续Controller。

若将[HttpGet]改为[HttpPost],浏览器将找不到资源。

操作过滤器可以看成一贯动用于操作方法或决定器类的表征来编排,或当作在大局过滤器列表中注册的独自类来编排。即便打算将编辑的操作过滤器作为特色来选拔,那么它必须继续自FilterAttribute或它的其它子类,如ActionFilterAttribute。不作为特性应用的大局操作过滤器没有对这些基类的要求。无论使用哪个路由,操作过滤器扶助的过滤活动都由实现的接口决定。

数学 17数学 18

(3)必须连续自ASP.NET
MVC内建的Controller序列,或促成IController自定义系列;

ControllerDemoController.action

8.2 继承Controller

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 using System.Reflection;
 8 namespace MVCControllerDemo.Controllers
 9 {
10     public class ControllerDemoController : IController
11     {
12         public String Index()
13         {
14             return "<h1>Index</h1>";
15         }
16 
17 
18 
19         public void Execute(System.Web.Routing.RequestContext requestContext)
20         {
21             string action = requestContext.RouteData.Values["action"].ToString();
22             Type typ = typeof(ControllerDemoController);
23             MethodInfo md = typ.GetMethod(action, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
24             if (md == null)
25             {
26                 requestContext.HttpContext.Response.Write("<h1>404</h1>");
27             }
28             else
29             {
30                 string s = md.Invoke(this, null).ToString();
31                 requestContext.HttpContext.Response.Write(s);
32             }
33         }
34     }
35 }

【08】 https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/controllers-and-routing/aspnet-mvc-controllers-overview-cs

ViewBag

从如上代码可以总括出Controller应享有如下多少个基本原则:

控制器动作(具体的action)再次回到的结果叫做控制器动作结果,动作结果是控制器重临给浏览器请求的内容。ASP.NET
MVC框架襄助六种标准项目标动作结果。

数学,View
Code

eg:举个自定义重临string的不二法门

 当通过ActionInvoker选定Controller内的公然格局时,ASP.NET
MVC还有另一个特征称为”动作方法选定器(Action Method
Selector)”,该选定器可以套用在动作方法上,以便ActionInvoker”选定”适当的Action。

 eg4:JsonResult

ASP.NET 定义了以下二种衍生型别。

View
Code

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 using System.Web.Routing;
 7 
 8 namespace MVCControllerDemo
 9 {
10     public class RouteConfig
11     {
12         public static void RegisterRoutes(RouteCollection routes)
13         {
14             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
15 
16             routes.MapRoute(
17                 name: "Default",
18                 url: "{controller}/{action}/{id}",
19                 defaults: new { Controller = "ControllerDemo", action = "Index", id = UrlParameter.Optional }
20             );
21         }
22     }
23 }

【06】Professional Asp.net MVC 4

6  ViewBag、ViewData和TempData概述

三者方法签名为:

(4)三者均是容器,即能积存常量,变量,也能储存集合。

若控制器某个方法特性为NonAction,尽管该Action方法是“公开格局”,也会告诉ActionInvoker不要选定这么些Action来运转。首要用途:a.珍惜Controller中的特定公开办法毫无发表到Web上;b.效用尚未支付到位就要举办配置,暂时不想将此模式删除。

一个操作方法一旦被入选就会立刻执行,并且只要它回到一个结实,重回的结果也会随之履行,ASP.NET
MVC 5提供五种办法,分别列于如下:

View
Code

5.1
控制器动作结果类型(ActionResult)  

数学 19数学 20

(4)所以动作方法必须为公开办法,任何非公开的艺术如宣称为private或protected的艺术都不会被视为一个动作方法;

数学 21数学 22

 1        [HttpGet]
 2         public ActionResult  Index()
 3         {
 4              return View();
 5         }
 6 
 7         [HttpGet]
 8         public ActionResult Create()
 9         {
10             return View();
11         }
12 
13 
14         [HttpPost]
15         public ActionResult Create(FormCollection fc)
16         {
17             //UpdateToDB(fc);
18             return RedirectToAction("Index");
19         }

数学 23数学 24

4.1 动作方法选定器

eg5:RedirectResult

View
Code

也可将public改为private,达到维护的法力。

Action运行完后的回传值经常是ActionResult体系或其衍生系列(Derived
Class),事实上,ActionResult是一个抽象类,如ViewResult用来回传一个View、RedirectResult用来将网页重定向、Content回传文字内容、FileResult回传二进制文档等,这几个均是继承ActionResult。MvcHandler从Controller拿到ActionResult之后,就会起来运行ActionResult提供的ExecuteResult方法,并将运行结果响应到客户端,这时Controller的职责就是完成。

3  Controller的运行过程

(2)例子

1 [HttPost]
2 public ActionResult  Index()
3 {
4        return View();
5 }

6.1
三者在MVC框架里的概念

数学 25数学 26

5.2相似方法

RouteConfig.cs

View
Code

eg6:RedirectToRouteResult

 1 //无返回类型
 2 public  void  functionName(形参)
 3 {
 4      //to add your content
 5 }
 6 
 7 //有返回类型
 8 public  返回类型  functionName(形参)
 9 {
10      //to add your content
11     return   与方法返回类型相匹配的结果;
12 }

RouteDemoController

 1 //方法1: ViewResult作为返回类型
 2 public ViewResult Index()
 3         {
 4             return View();
 5         }
 6 
 7 
 8 
 9  //方法二: ViewResultBase作为返回类型
10 public ViewResultBase Index()
11         {
12             return View();
13         }
14 
15 //方法三: ActionResult作为返回类型
16 public ActionResult Index()
17         {
18             return View();
19         }

(2)HTTP动词限定属性

数学 27数学 28

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 using System.Web.Routing;
 7 
 8 namespace MVCControllerDemo
 9 {
10     public class RouteConfig
11     {
12         public static void RegisterRoutes(RouteCollection routes)
13         {
14             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
15 
16             routes.MapRoute(
17                 name: "Default",
18                 url: "{controller}/{action}/{id}",
19                 defaults: new { Controller = "ControllerDemo", action = "Index", id = UrlParameter.Optional }
20             );
21         }
22     }
23 }

这种形式相比常用。

8.1 实现IController

(1)授权过滤器(Authorization
Filters);

Controller(控制器)在ASP.NET
MVC中承受控制所有客户端与服务端的互动,并且负责协调Model与View之间数据传递,是ASP.NET
MVC框架核心。Controller为ASP.NET
MVC框架的大旨组成部分,其重要担负处理浏览器请求,并控制响应什么内容给浏览器,但并不担负控制内容应如何显示(View的职责)。

【03】http://www.360doc.com/content/12/0611/15/29831\_217456312.shtml

8  控制器定义

 (1)NonAction属性

(2)Controller名称必须以Controller结尾;

4  控制器方法体系

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace MVCControllerDemo.Controllers
 8 {
 9     public class ControllerDemoController : Controller
10     {
11 
12         public string GeneralFunction()
13         {
14             return "自定义一般方法";
15         }
16     }
17 }
 1 public JsonResult jsonResult()
 2  2         {
 3  3            TechInfoCompanay jsonCompany=new TechInfoCompanay(){id="S001",CompanyName="信息科技有限公司"};
 4  5             return Json(jsonCompany,JsonRequestBehavior.AllowGet);
 5  6          }
 6  7 
 7  8 
 8  9  //定义一个公司类
 9 10     public class TechInfoCompanay
10 11     {
11 12         public string id { set; get; }
12 13         public string CompanyName { set; get; }
13 14     }

【04】http://blog.csdn.net/yw1688/article/details/51280665

eg2:EmptyResult

1 private ActionResult  Index()
2  {
3        return View();
4   }

9  参考文献

 数学 29

(4)例外过滤器(Exception Fiters);

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace MVCControllerDemo.Controllers
 8 {
 9     public class ControllerDemoController : Controller
10     {
11         //
12         // GET: /ControllerDemo/
13 
14         [HttpGet]
15         public ActionResult Index()
16         {
17             return View();
18         }
19     }
20 }

测试结果

 HttpGet、HttpPost、HttpDelete、HttpPut、HttpHead、HttpOptions、HttpPatch属性(Attributes)都是动作方法选定器的一局部。如下例子讲解HttpGet属性,即意味着唯有当客户端浏览器发送HTTP
GET要求时,ActionInvoker才会选定到这个Action:

Controller本身就是一个类(Class),该项目有好多艺术(Method),这一个办法中一旦是通晓情势(public
method)就会被视为是一个动作(Action)或动作方法(Action
Method),只要动作存在,就可以透过该动作方法接收客户端传来的渴求与操纵响应的检察(View)

1 [HttpGet]
2  public ActionResult  Index()
3  {
4       return View();
5  }
 1 public ViewDataDictionary ViewData
 2         {
 3             get
 4             {
 5                 if (this._viewDataDictionary == null)
 6                 {
 7                     this._viewDataDictionary = new ViewDataDictionary();
 8                 }
 9                 return this._viewDataDictionary;
10             }
11             set
12             {
13                 this._viewDataDictionary = value;
14             }
15         }

著作内容包括:Controller概述、Controller体系和方法、Controller运行过程、Controller方法类别、ViewData\ViewBag\TempData分析、ActionResult讲演、Controller定义和参考文献,剩下有关Controller其他内容在本篇随笔中不讲,如Controller激活机制(Controller类型解析、Controller类型缓存、Controller的自由和对话状态作为控制等)、ControllerFactory、ControllerBuilder等,除此之外,文中有些过度涉及到底层的始末,考虑篇幅等元素,只是简单提及了弹指间,并未做深切剖析,依照前期意况,会酌情考虑是不是再写一篇彻底深远的底部Controller的。

6.2 三者相比

【07】The framework of revelation  of 
Professional Asp.net MVC 5

在阅读本篇博文时,提议组成上篇博文:详解ASP.NET MVC
路由
  一起读书,效果可能会更好些。  

1 [NonAction]
2  public ActionResult  Index()
3   {
4        return View();
5   }

RouteConfig.cs

【01】http://www.cnblogs.com/wangiqngpei557/p/3390812.html

 在ASP.NET MVC框架中,对ActionResult定义如下:

 

(3)结果过滤器(Result Filters);

1  public TempDataDictionary TempData { get; set; }
2  public ViewDataDictionary ViewData { get; set; }
3  public object ViewBag { [return: Dynamic] get; }
 1 // Generated by .NET Reflector from C:\Users\WJM\documents\visual studio 2013\Projects\DEMOMVC\packages\Microsoft.AspNet.Mvc.5.0.0\lib\net45\System.Web.Mvc.dll
 2 namespace System.Web.Mvc
 3 {
 4     using System;
 5     
 6     public abstract class ActionResult
 7     {
 8         protected ActionResult()
 9         {
10         }
11         
12         public abstract void ExecuteResult(ControllerContext context);
13     }
14 }

(3)ViewBag和ViewData属性是如出一辙份数据的不比表现模式,二者的不同之处在于前者是一个动态目标,可以为其指定任意属性(动态属性名将作为数据字典的Key)。

1   // GET: /ControllerDemo/
2         public EmptyResult  Index()
3         {
4             return null;
5         }

普通,在概念一个方法时,我们常规性地按照章程是否有重回值归纳为有重临值和无重临值两大类,控制器的本色是类,控制器的action本质是艺术,假诺按照数学集合来定义,那么控制器是类的一个子集,同理,控制器action是办法的一个子集,由此,在探讨控制器以及控制器action时,我们是足以才用探究类和办法的貌似思维的。

 ActionResult是Action运行后的回传型别,不过当Action回传ActionResult的时候,其实并不带有这一个ActionResult(例如ViewResult)的运作结果,而是含有运行这多少个ActionResult时所需的多寡,当MvcHandler从Controller取得ActionResult之后才会去运转出ActionResult的结果。在ActionResult抽象类中单单定义了一个ExecuteResult()方法。

【02】http://www.cnblogs.com/yaozhenfa/p/asp\_net\_mvc\_controller.html

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图