欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ASP.NET MVC 初探

程序员文章站 2022-04-02 17:45:54
...

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 应用程序

ASP.NET MVC 初探
打开HomeController.cs
ASP.NET MVC 初探
按下快捷键F5项目运行效果如下:
ASP.NET MVC 初探

2.创建控制器和视图

如下图所示右键点击添加控制器
ASP.NET MVC 初探
右键点击index,然后点击添加视图
ASP.NET MVC 初探
Views将会自动生成视图
ASP.NET MVC 初探
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部分。
相关标签: MVC