ASP.NET MVC 初探

标签: MVC

ASP.NET MVC 是一全新的web框架。是对复杂软件的横向切分。
将ASP.NET MVCASP.NET拆分,即"ASP.NET+MVC",前者代表支撑该应用框架的平台,后者表示该框架的的设计思想。
MVC是一种软件设计模式,即:Model(模型)、View(视图)、和Controller(控制器)。主要设计的目标是将用户接口和逻辑层相分离。
ASP.NET MVC框架三大组成部分:

  • Model 实现应用程序数据逻辑的应用程序组件(业由务逻辑和数据访问组成与三层架构Model层的实体类不同)
  • View 显示应用程序用户界面的(UI)的组件
  • Controller 处理用户交互、使用模型并选择视图来显示界面的组件,是连接Model和View的桥梁。
    如何操作:

1.创建ASP.NET MVC 4 Web 应用程序

在这里插入图片描述
打开HomeController.cs
在这里插入图片描述
按下快捷键F5项目运行效果如下:
在这里插入图片描述

2.创建控制器和视图

如下图所示右键点击添加控制器
在这里插入图片描述
右键点击index,然后点击添加视图
在这里插入图片描述
Views将会自动生成视图
在这里插入图片描述
3

3.控制器向视图传递数据

控制器向视图传递小型数据可以使用一下三种数据:
1)ViewDada
字典类型,存放的是键/值对数据
举例:

HomeController.cs:
       public ActionResult Index()
       {
         //使用ViewDada 从控制器传递到视图
         ViewDada["Message"]="使用ViewDada传递文本数据!";
         return View();
       }
Index.cshtml:
<hgroupclass="title">
<h2>@viewDada["Message"]</h2>
</hgroup>

2)ViewBag
存放的不是键/值对 数据,是dynamic动态类型数据
举例:

   public ActionResult About()
       {
         //使用ViewBag 从控制器传递到视图
         ViewBag.Message="使用ViewDada传递文本数据!";
         return View();
       }
About.cshtml:
<hgroupclass="title">
<h2>@ViewBag.Message</h2>
</hgroup>

3)TempData
默认保存在session中,跨操作方法传递数据
举例:

HomeController.cs:
       public ActionResult Index()
       {
         //使用TempData从控制器传递到视图
      TempData["Message"]="使用TempData";
         return View();
       }
          public ActionResult About()
       {
         //在Adout方法中获取 TempData
         if("使用TempData"==TempData["Message"] as string )
         {
           TempData["Message"] ="使用TempData保存数据";
          }
        ViewBag.Message="使用ViewDada传递文本数据!";
         return View();
       }
About.cshtml:
<hgroupclass="title">
<h2>@TempData["Message"] </h2>
</hgroup>

4.相比三层架构,MVC有何特点

  • View和Model较为独立,Controller是连接二者的桥梁,三者没有明显的向下依赖关系,利于团队开发。
  • 结构更清晰,耦合性更低,每部分都可以独立测试。
  • MVC的每个组成部分可被设计多层结构,尤其是Model部分。
版权声明:本文为qq_41462647原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41462647/article/details/89890335