zoukankan      html  css  js  c++  java
  • MVC神韵你想在哪解脱!(二)

    Controller & Action
        通过URL Routing确定的Controller类和Action方法。Action中执行的是表现逻辑,根据用户传入的参数(URL)来操作Model(执行业务逻辑)-->获取数据-->选择一个View进行输出。(
    Model就像专家系统的领域专业库或者就像业务服务,你给它要的信息它给你专业业务服务处理,处理结果怎么表达呢,把UI视图拿来,看什么视图了表达方式不同,呵呵。)Action执行之后返回的是一个ActionResult(生成html,页面跳转...).


    Controller是一个类,而Action是一个方法。
    Conetroller的要求:
    1>.继承System.Web.Mvc.Controller控制器基类.如果没有传递参数给控制器,控制器就会默认调用Index的Action.但如果没有Index的Action。就会报错!

         如: public class SampleController:Controller

                {     public ActionResult Index(){....}  //默认的Index的Action

    2>.类名必须以Controller结尾。XyzController的名称即为:Xyz

    3>.ASP.NET MVC框架会在Web应用程序所引用的所有程序及范围内查找Controller。

    4>.引入三个命名空间:system,  system.Web,  system.Web.Mvc

     

    Action的要求:
    必须是个公有的方法
    返回ActionResult类型,也可以返回void。直接使用Response.Write
    必须是实例方法
    不能使泛型方法
    没有标注NonActionAttribute
    不能被重载

     

    ActionResult:是一个抽象类表示Action的执行结果,ASP.NET MVC架构将在获得ActionReault之后执行其Execute方法。
    内置的ActionResult:

    ActionRedirectResult:跳转到某个Action。

    HttpRedirectResult:跳转到任意地址。

    RenderViewResult:生成内容。

    EmptyResult:什么都不做。

    JsonResult:用于JSON序列化输出。

    ContentResult:直接输出字符串。

    注:在这里不得不说,URL被作为大型模块的路径指针应用,就像路径文件名的调用一样。通过URL来决定在什么样的业务逻辑下调用什么样的方法处理!当然这种解释不太确切,你理解它才能懂得MVC的控制精髓!

     

    生成View
    ViewEngine(表明使用了什么样的View进行生成),它是可替换的。
    默认使用aspx,ascx,master
    MvcContrib提供了额外的4种ViewEngine。 ASP.NET MVC的默认View:.aspx--页面内容的主体,.master--模板框架,.ascx--局部视图:Html.RenderUserControl方法将一个UserControl生成局部视图。
    需继承System.Web.Mvc.ViewPage
    --ViewData有个属性为Model
    --ViewPage的ViewData为T类型
    --默认的ViewPage近似于ViewPage

     

    View中生成html的方式:
    1>.内联脚本方式:for{},foreach{}。类似ASP,但是并不是业务逻辑和显示的html放在一起。两者还是分离的。
    使用脚本最大的好处就是使用灵活。调试起来是不是不是很方便???
    2>.使用控件:Repeater(推荐)可以用来显示一维数据,ListView (推荐)可以用来显示二维数据
    3>.使用辅助方法
    --HtmlHelper类:提供的一些辅助的方法为我们生成Form,ActionLink,Button,CheckBox,Select(下拉框),Encode....的HTML
    方法中提供了很多重载。
    --UrlHelper类:生成Url以及与Url相关的东西。比如生成Action的Url。

     

     

     

  • 相关阅读:
    Go简介
    sRGB标准与伽马校正
    【Web】HTTP基本认证之 Basic Auth
    【ElasticSearch】 ElasticSearch SQL(十三)
    【ElasticSearch】 ElasticSearch X-Pack之用户认证(十二)
    【ElasticSearch】 ElasticSearch Java客户端(十一)
    【ElasticSearch】 ElasticSearch集群分布式文档(十)
    【ElasticSearch】 ElasticSearch集群之分片、副本、故障转移(九)
    【ElasticSearch】 ElasticSearch集群安装(八)
    【ElasticSearch】 全文搜索(七)
  • 原文地址:https://www.cnblogs.com/sonykings/p/3091697.html
Copyright © 2011-2022 走看看