zoukankan      html  css  js  c++  java
  • MVC3

    摘要:

    控制器的角色

    控制器简史

    示例应用程序:MVC Music Store

    控制器基础

    1.控制器的角色

    定义:MVC模式中的控制器主要负责响应用户的输入,并且在响应时通常会修改模型。通过这种方式,MVC模式中的控制器主要关注的是应用程序流,输入数据的处理,以及对相关视图输出数据的提供。

    理解MVC模式:MVC提供的是方法调用的结果,而不是动态生成的(又名脚本)页面。

    ASP.NET Web Form是一种基于事件的系统,这在Web应用程序平台中是独一无二的。它拥有一个强大的基于控件并由事件驱动的编程模型,从而为开发人员提供了一个组件化的GUI。

    事件驱动流程:客户端提交请求—服务端响应请求—ASP.NET重建整个控件层次结构—解释请求—利用请求内容去恢复应用程序中当前用户状态(本质是因为Web是无状态的)

    应用MVC模式要求Web应用程序的每一个用户输入只采用请求的方式。如ASP.NET MVC中每个请求都被路由到控制器的一个方法,该控制器全权负责解释这些请求,如果必要还要操纵模型,通过响应选择一个视图反馈给客户。

    2.控制器基础

    /Store/Browse?Genre=Disco 方式传参

    HTML编码的用户输入:利用实用方法HttpUtility.HtmlEncode来预处理用户输入,这能阻止用户向视图中用链接注入JS代码或HTML标记。比如/Store/Browse?Genre=<script>window.location='http://...'</script>

    public string Browse(string genre)
    {
        // return "Hello from Store.Browse()";
        string message =
        HttpUtility.HtmlEncode("Store.Browse, Genre = " + genre);
    
        return message;
    }
    

    /Store/Details/5方式 传参

    当操作方法中有名称为ID的参数,则ASP.NET MVC将会自动将操作方法名称后面的URL片段作为名称ID的参数传进来(ASP.NET MVC的默认路由约定)

    public string Details(int id)
    {
        //return "Hello from Store.Details()";
        string message = "Store.Details, ID = " + id;
    
        return message;
    }

    控制器感觉是Web浏览器直接调用控制器类中的方法,这极大的简化忽略了下面的细节:

    • 路由将URL映射到操作的方式
    • 将视图作为模板生成向浏览器返回的字符串(通常是HTML格式)
    • 操作很少返回原始的字符串;它通常返回合适的ActionResult来处理像HTML状态码和调用视图模板系统这样的事项
  • 相关阅读:
    tuple 元组及字典dict
    day 49 css属性补充浮动 属性定位 抽屉作业
    day48 选择器(基本、层级 、属性) css属性
    day47 列表 表单 css初识
    day 46 http和html
    day 45索引
    day 44 练习题讲解 多表查询
    day 40 多表查询 子查询
    day39 表之间的关联关系、 补充 表操作总结 where 、group by、
    day38 数据类型 约束条件
  • 原文地址:https://www.cnblogs.com/KevinG/p/3560613.html
Copyright © 2011-2022 走看看