第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)