改造一下HelloWord项目

第04课:我们来重点说说和改造一下我们的这个HelloWord项目

万丈高楼平地起 我们学任何东西都要 一步步来 循序渐进

我们主要是包含这几步

1 在Controllers文件夹里面 添加HelloController.cs的控制器 主要前缀的名称

2 是在HelloController.cs里面添加了一个Index方法 我们现在继续创建一个Demo的方法(action)

public ActionResult Demo()
        {
            return View();
        }Code language: PHP (php)

3 在Views文件里面的Hello文件夹下面添加一个视图 cshtml后缀

我们在action里面使用viewbag来存放一个东西,然后在视图这边显示出来

public ActionResult Demo()
        {
            ViewBag.Title = "这是例子页 第04课";
            ViewBag.ADSFDSFDSF = "";
            return View();
        }Code language: PHP (php)

然后在Demo .cshtml

<body>
    <div>
        @ViewBag.Title 
    </div>
</body>Code language: HTML, XML (xml)

http://localhost:16303/Hello/demo

http://localhost:16303/类名前缀/方法名

这个过程 他是怎么进来的

我们这里需要先理解一下 RouteConfig这个路由类

它里面有帮我们注册一个叫Default的路由

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }Code language: PHP (php)

这里面其实就算说我们的url规则是 先对应控制器-HelloController

如果没写 那默认是Home 和Index方法

http://localhost:16303/ —》HomeController 里面的Index方法

http://localhost:16303/home/ —>HomeController 方法没写 则就是Index

http://localhost:16303/hello/ —>HelloController 方法没写 则就是Index

http://localhost:16303/hello/index —>HelloController 方法则就是Index

http://localhost:16303/hello/demo —>HelloController 方法就是demo

http://localhost:16303/index/ —>indexController (这里会报错,因为默认路由找的是IndexController这个类,但你项目里没有这个控制器,所以会返回404)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注