主页搭建——MVC

  首先,新建一个MVC项目,由于我的服务器上只安装了.Net4.0 因此选择4.0的Framework。项目建立完成后,我们可以在右边看到这样的目录结构。

主页搭建——MVC_第1张图片

其中Global.asax为整个程序的入口

            AreaRegistration.RegisterAllAreas();
            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);        

  这四个配置文件的注册分别对应到了App_Start中的四个文件

Bundle的作用是将你所使用的css或者js文件合并到一起,解决浏览器只能同时加载6个链接的限制,加快网站的访问速度。

Filter的作用是定义过滤器,在每个action前面可以加上限定的filter,例如[HttpPost],限制这个action只能通过post方式访问。

Route则是网站访问的路由规则。

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

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

  url中显示了访问方式。默认为website/Home/Index

  controller对应Controlllers文件夹下的Controller,action则对应每个controller中的动作,id则为要传入的参数。

我们可以看到controller和view的对应关系如下

主页搭建——MVC_第2张图片

每个controller对应一个view中的文件夹,每个方法对应文件夹中的cshtml页面。

这是一个简单的返回主页视图的方法,我们可以通过ViewBag与cshtml页面进行数据交互。(X-real-ip为我在nginx中定义的访问IP的header)

在对应的index.cshtml中,我们同样可以使用@ViewBag.ip获取传过来的数据。

主页搭建——MVC_第3张图片

当我们运行网站的时候我们的ip就会显示在<h1>标签上了

在Views文件夹中,还有一个_Layout.cshtml

前面加 _  表示不能被直接访问,layout.cshtml则为模板页,我们可以在这里定义整个网站的header以及footer,同时引用所有的css以及js文件,再通过@RenderBody()加载中间内容。

 

你可能感兴趣的:(主页搭建——MVC)