zoukankan      html  css  js  c++  java
  • Asp.net MVC学习笔记1

    asp.net MVC 3月19号正式发布以来备受关注,所以今天赶着潮流的也看了以下,是的 挺不错的,一些思想有点类似于JavaEE中的Struts,下面的图是我转载的写得很能让人理解。

    我描述一下,URL提交由映射系统拦截,它会根据(Global.asax)里面的映射规则进行匹配,

     routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

                routes.MapRoute(
                    "Default",                                              // Route name
                    "{controller}/{action}/{id}",                           // URL with parameters
                    new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
                );

    这个是默认制定的路由规则(也可自己制定),就按默认的来说一下。

    拦截到后根据此规则获得到ControllerName(ControllerName 是你写的继承于Controller的类的去除Controller的名字,例如你有个UserController 而这个控制类映射的名字就是User)

    找到了这个Controller就会去找这个Controller类中的方法(即返回类型是ActionResult的),方法名是由ControllerName/后的映射决定。如上规则后面还可以跟参数,也可不加,默认是空

    然后就会执行方法,方法会返回一个ActionResult类型,根据这个结果查找对应的View

    注意:view页面好像不能随便建,例如,如上有个UserController ,那它对应的view页面应该会到View文件夹(默认)下User这个文件夹下查找(要与UserController名字对应)

    来个最简单的例子

            文件结构:

    //很简单就向ViewData放个用户名

      public class DemoController : Controller
        {
     

            public ActionResult Index()
            {
                ViewData["userName"] = "zhangsan";
                return View("Index");
            }

        }

    Index.aspx页面显示用户名

       <div>
        用户名:
        <%=ViewData["userName"].ToString() %>
        </div>

    访问路径:http://localhost:13595/Demo/Index

    Demo就是DemoController  的前缀

    Index是DemoController 中的方法Index

    后感:个人觉得有点这种驱动型有点类似Struts,根据名字通过反射找到该名字的Action然后进行一些业务处理在返回一个值,该值决定要返回的页面或action。呵呵 也刚看半小时  有这种感觉!有错的地方请指教,继续学习。。。。

  • 相关阅读:
    2016/10/18 数据库设计三大范式
    2016/10/13 Oracle COALESCE()
    2016/10/13 oracle中的round()
    2016/10/10 数据、数据元素和数据项
    2016/09/29 Maven简介
    2016/09/29 瀑布模型开发和敏捷开发
    python2和python3中的类
    使用JQuery完成页面定时弹出广告
    JQuery入门+js库文件分享
    使用JavaScript完成控制下拉列表左右选择
  • 原文地址:https://www.cnblogs.com/zhangqifeng/p/1427516.html
Copyright © 2011-2022 走看看