• MVC 控制器详解


    Controller:

    Controllers 文件夹包含负责处理用户输入和响应的控制器类。

    MVC 要求所有控制器的名称必须以 "Controller" 结尾。

    控制器的职责:

      处理跟用户的交互

      处理业务逻辑的调用

      指定具体的视图显示数据,并且把数据传递给视图

    约定:

    必须是非静态类    必须实现IController接口            必须是以Controller结尾命名

    Action:

    在Action中,可以访问任何的当前请求的数据,以及干涉响应的内容,几乎可以将Action看做是一个“一般处理程序”,相当于webform中的.ashx页面

    ActionResult

    ActionResult是一个抽象类(abstract) Action中返回的Return View(),View()返回的类型是ActionResult的子类ViewResult。

    Return Content()返回的结果是ContentResult,它也是ActionRestult的子类。 Content可以用来做测试

    ActionResult派生类      类不是实例就是打点

       public ActionResult ContentResultDemo()
            {
                string contentString = "ContextResultDemo! ��鿴 Controllers/DemoController.cs�ļ�,���������������ActionResult���÷�.";
                return Content(contentString); //返回字符串
            }
       public ActionResult FilePathResultDemo()
            {
               //返回文件时,这个看要做成下载图片的连接   
           //FileContentResult FilePathResult FileStreamResult 这三个差不多,返回的时候下面的是最简单的 return File(Server.MapPath(@"/resource/Images/2.jpg"),@"jpeg/image"); }
      public ActionResult FileContentResultDemo()
            {
                FileStream fs = new FileStream(Server.MapPath(@"/resource/Images/1.gif"), FileMode.Open, FileAccess.Read);
              //Stram内存流
    byte[] buffer = new byte[Convert.ToInt32(fs.Length)]; fs.Read(buffer, 0, Convert.ToInt32(fs.Length) ); return File(buffer, @"image/gif"); }
       public ActionResult FileStreamResultDemo()
            {            
                FileStream fs = new FileStream(Server.MapPath(@"/content/Imgs/dog1.jpg"), FileMode.Open, FileAccess.Read);
                return File(fs, @"image/jpg");
            }
     public ActionResult JavaScriptResultDemo()
            {
                return JavaScript(@"alert(""Test JavaScriptResultDemo!"")");
            }
       public ActionResult JsonResultDemo()
            {
                var tempObj = new { Controller = "DemoController", Action = "JsonResultDemo" };
                return Json(tempObj);    //返回一个JSon对象     页面上就是   { "Controller":"DemoController","Action":"JsonResultDemo"}
            } 
  • 相关阅读:
    IOC / AOP
    Volatile
    观察者模式
    Gang Of Four的23中设计模式
    适配器模式
    享元模式
    设计模式
    B树和B+树
    Java内存模型(JMM)
    【Java的IO流之文件字符输入输出流 25】
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/5975538.html
Copyright © 2020-2023  润新知