MVC(1)——新建一个ASP.NET MVC项目

一、新建一个空MVC项目
  对于mvc的应用,我想第一步就应该是建立一个mvc项目了。废话不说了,直接上。
  在“File(文件)”菜单中选择“New(新建)”——“Project(项目)”
在这里插入图片描述
  打开“NewProject(新项目)”对话框。如果在左侧”VisualC#”目录树中选择”Web”模板,会看到”ASP.NETWebApplication(ASP.NETWeb应用程序)”项目模板。选择该项目类型。将该新项目的名称设置为Partylnvites,单击“OK(确定)”按钮并继续,此时会看到另一个对话框。
建立一个空的MVC项目
  
  新建后,项目结构如下:
在这里插入图片描述

现在,通过选择”Debug(调试)”菜单中的”Start Debugging(开始调试)”(或简单地按快捷键F5)便可以试着运行这个应用程序。这时将会看到如下图所示的结果——404报错。
在这里插入图片描述
  这是由于本例是从Empty项目模板开始的,该应用程序尚未包含任何可以运行的内容(没有程序入口,类似于没有主函数main),因此服务器会产生一个“404一未找到”的错误。

此时,我们停止调试,在”Debug(调试)”菜单上选择“stopDebugging(停止调试)”(或简单地按快捷键Shift+F5)。

二、新建一个控制器
首先介绍以下我们的控制器
在MVC体系架构中,输入请求是由控制器(Controller)来处理的。
在 MVC中,控制器只是一些C#类(通常继承于System.Web.Mvc.Controller,这是框架内置的控制器基类)。控制器中的每一个public方法都称为是一个动作方法(ActionMethod),意即可以用某个URL通过Web来调用它,以执行一个动作。MVC约定,将控制器放在Controllers的文件夹中,这是VisualStudio在建立项目时创建的。
MVC 将 URL 映射到方法。这些方法在类中被称为"控制器"。
控制器负责处理进入的请求,处理输入,保存数据,并把响应发送回客户端。
总而言之,Controller就是程序的处理逻辑,控制着屏幕调用显示哪些东西,什么时候去显示什么的逻辑。(只是一个控制逻辑而非实际显示的东西)。

为了对项目添加一个控制器,右击VisualStudio“SolutionExplorer(解决方案资源管理器)”窗口中的”Controllers”文件夹,并从弹出菜单中选择”Add(添加)”——”Controller(控制器)”,然后弹出如下窗体:
在这里插入图片描述
  当”AddScaffold(添加基架)”对话框出现后,选择”MVC5Controller-Empty(MVC5-空控制器)”选项,然后单击”Add(添加)”按钮。弹出“添加控制器”窗体
在这里插入图片描述
  将其名称设置“HomeController”(注:用其他名字是不可以的,原因会在MVC(2)中提到), 然后单击“Add(添加)”按钮。
控制器名称有几个约定:提供的控制器名称应当指明其目的;默认的控制器名称称为“Home”:控制器名称具有”Controller”后缀。

添加完后的HomeController.cs代码如下:
Homecontroller
要说明的是HomeController相当于MVC程序的入口类,而其中的Index方法就相当于MVC程序的主函数。也就是说我们的程序有了入口了。
但是Index的代码是返回一个View,而我们Views文件夹下HomeController对应的Home文件夹为空
在这里插入图片描述
所以……

在这里插入图片描述

那么解决办法有两个,一个是改控制器的代码,让主函数Index不返回View了;另一个是在Views文件夹下的Home文件夹(和HomeController对应,系统生成的)添加一个View

先说第一种:
将HomeController.cs的代码改成:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebApplication1.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public String Index()
        {
            return "Hello world";
        }
    }
}

让主函数Index返回一个字符串“Hello World”,运行以下结构如图
在这里插入图片描述

第二种方法:添加一个View让Index方法return View();可以找到
PS:把方法一的代码更改先撤销掉

三、View(视图)
在这我介绍以下我们的View文件夹:
Views 文件夹存储的是与应用程序显示(用户界面)相关的文件(HTML 文件)。根据所采用的语言内容,这些文件可能扩展名可能是 html、asp、aspx、cshtml 和 vbhtml。
Views 文件夹中包含每个控制器对应的一个文件夹。
ASP.NET 文件类型
在 Views 文件夹中可以看到以下 HTML 文件类型:

文件类型扩展名
纯 HTMLhtm or .html
经典 ASP.asp
经典 ASP.NET.aspx
ASP.NET Razor C#.cshtml
ASP.NET Razor VB.vbhtml

总而言之,View就是我们用户通过浏览器看到的东西
之后我会提到Controller和这个View的关系,

这里先创建一个View给HomeController

右键单击Views文件夹下的Home文件夹,“添加”-》“新建项”,弹出“添加新项”对话框
在这里插入图片描述
这里我们选MVC 5 视图页(Razor),名称改为Index表示是HomeController控制器中的Index方法调用的视图,单击“添加”
生成的Index.cshtml文件如图:
在这里插入图片描述
由于这个Index.cshtml没有内容,所以我们运行后虽然可以显示界面了,但界面是空白的。(有兴趣的话可以自己尝试一下)

现在我们给这个Index.cshtml视图添加东西,把内容替换成如下代码:

@{ViewBag.Title = "Home Page";}

<h1>Welcome to runoob.com</h1>

<p>Put Home Page content here</p>

添加了一个h1标题和一段话做为内容,那个@{ViewBag.Title = “Home Page”;}是给我们的index.cshtml起一个标签名
在这里插入图片描述

最后的最后,总结以下我们学会了Controller,知道了它可以调用指定的视图,显示在浏览器上,HomeController是程序入口,Index方法是主函数。也学习了View,知道这个文件是网页的外观,会被控制调用显示在浏览器上。
那么给大家放张图
在这里插入图片描述
我们了解了MVC中的两个了,对于Model我会在之后的文章中提到,这里我们只要知道当没有数据库的存取操作时没有model也是可以的。

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页

打赏

lsxa123

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者