让我们跳转并使用视图和控制器创建我们的第一个MVC应用程序.一旦我们获得了关于基本MVC应用程序如何工作的小实践经验,我们将在接下来的章节中学习所有单独的组件和概念.
创建第一个MVC应用程序
第1步 : 启动Visual Studio并选择File → 新的 → 项目.选择Web → ASP.NET MVC Web应用程序并将此项目命名为 FirstMVCApplicatio .选择位置为 C:\ MVV .单击确定.
第2步 : 这将打开"项目模板"选项.选择Empty template and View Engine as Razor.单击OK.
现在,Visual Studio将创建我们的第一个MVC项目如下面的截图所示.
第3步 : 现在我们将在我们的应用程序中创建第一个Controller.控制器只是简单的C#类,它包含多个公共方法,称为操作方法.要添加新Controller,请右键单击项目中的Controllers文件夹,然后选择Add → 控制器.将Controller命名为HomeController,然后单击Add.
这将在Controllers文件夹下创建一个类文件 HomeController.cs 使用以下默认代码.
using System; using System.Web.Mvc; namespace FirstMVCApplication.Controllers { public class HomeController : Controller { public ViewResult Index() { return View(); } } }
上面的代码基本上定义了HomeController中的公共方法索引并返回一个ViewResult对象.在接下来的步骤中,我们将学习如何使用ViewResult对象返回视图.
步骤4 : 现在我们将向家庭控制器添加一个新视图.要添加新视图,请右键单击视图文件夹,然后单击添加 → 查看.
第5步 : 将新视图命名为索引,将视图引擎命名为Razor(SCHTML).点击添加.
这将添加一个新 cshtml 文件在Views/Home文件夹中,带有以下代码 :
@{ Layout = null; }Index
第6步 : 使用以下代码修改上述View的正文内容 :
Welcome to My First MVC Application (From Index View)
第7步 : 现在运行应用程序.这将在浏览器中提供以下输出.此输出基于View文件中的内容呈现.应用程序首先调用Controller,然后调用此View并生成输出.
在第7步中,我们收到的输出基于View文件的内容,并且没有与Controller进行交互.向前迈出一步,我们现在将创建一个小示例,使用View和Controller的交互显示当前时间的欢迎消息.
步骤8 : ; MVC使用ViewBag对象在Controller和View之间传递数据.打开HomeController.cs并将Index函数编辑为以下代码.
public ViewResult Index() { int hour = DateTime.Now.Hour; ViewBag.Greeting = hour < 12 ? "Good Morning. Time is" + DateTime.Now.ToShortTimeString() : "Good Afternoon. Time is " + DateTime.Now.ToShortTimeString(); return View(); }
在上面的代码中,我们设置了ViewBag对象的Greeting属性的值.代码检查当前小时并使用return View()语句相应地返回Good Morning/Afternoon消息.请注意,此处Greeting是我们与ViewBag对象一起使用的示例属性.您可以使用任何其他属性名称代替Greeting.
步骤9 : 打开Index.cshtml并在正文部分复制以下代码.
@ViewBag.Greeting (From Index View)
在上面的代码中,我们使用@访问ViewBag对象的Greeting属性值. (将从控制器设置).
步骤10 : 现在再次运行该应用程序.这次我们的代码将首先运行Controller,设置ViewBag,然后使用View代码渲染它.以下是输出.