C# MVC+EF—页面搭建

上一篇文章搭建了基本结构,现在来搭建页面

一、新建控制器

     Controllers=》添加=》控制器=》MVC 5控制器=》命名为DepartmentController

    public class DepartmentController : Controller
    {
        // GET: Department
        public ActionResult Index()
        {
            return View();
        }
    }
View Code

二、添加视图
     光标定在index方法上右键单击=》添加视图

     这时候view文件夹下会自动生成Department文件夹,文件夹下有一个Index.cshtml文件。

文件内容

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
View Code

运行之后会得到这样一个界面。

三、母版页

      说到这里要说一下页面的构成了,能看到我们生成的视图页面,只有一个页面标题和H2标签,正常情况下应该只显示一个Index才对,为什么会多了那么多东西呢?

其实我们生成的视图页面,默认引用了母板页。如果我们在页面中加入Layout = null,这样就不会加载母板页了。

默认母版页:在views文件夹下_ViewStart.cshtml文件控制默认母版页,文件夹中就一句话,设置母版页的路径。

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

母版页的内容是写在_Layout.cshtml文件内的。

四、MVC路由

      自动生成的默认路径是/Home/Index,自动生成的页面我删了,所以默认路径是找不到文件的,如上我们请求的是/Department/index

默认路由是这样的,在App_Start文件夹下有一个RouteConfig文件,这文件是用来设置路由规则的。

默认的路由规则是Controllers/action/id  ,id是可选属性,所以我们请求http://localhost:2280/Department/index就可以访问。

如果没有指定Controller那么默认请求Home/index页面。

 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", ation = "Index", id = UrlParameter.Optional }
            );
        }
    }
View Code

 

posted @ 2018-07-28 11:51  高空燕子飞过  阅读(1209)  评论(0编辑  收藏  举报