• 数据呈现到 ASP.NET Core MVC 中展示


    终于要将数据呈现到 ASP.NET Core MVC 中的 视图 上了

    将数据从控制器传递到视图的三种方法

    在 ASP.NET Core MVC 中,有 3 种方法可以将数据从控制器传递到视图:

    1. 使用 ViewData
    2. 使用 ViewBag
    3. 使用强类型模型对象。这也称为强类型视图

    通过使用ViewDataViewBag传递数据,我们会创建一个弱类型的视图。我们待会儿讨论弱类型视图的含义。

    使用 ViewData 将数据从 Controller 传递到视图

    我们希望将HomeController的 Details()操作方法中的Student模型数据和视图页面的 Title 传递给 Details.cshtml 视图。因此,修改 HomeController 中的 Details()操作方法,如下所示。

      public ViewResult Details()
            {
                Student model = _studentRepository.GetStudent(1);
                // 使用ViewData将PageTitle和Student模型传递给View
                ViewData["PageTitle"] = "Student Details";
                ViewData["Student"] = model;
    
                return View();
            }
    

    在视图中访问 ViewData

    要将 HomeController 的 Details()操作方法中的 ViewData 传递到视图,请修改 Details.cshtml 文件中的代码,如下所示。

    @using StudentManagement.Model
    <html>
      <head>
        <title></title>
      </head>
      <body>
        <h3>@ViewData["PageTitle"]</h3>
    
        @{ var student = ViewData["Student"] as Student; }
    
        <div>
          姓名 : @student.Name
        </div>
        <div>
          邮箱 : @student.Email
        </div>
        <div>
          班级名称 : @student.ClassName
        </div>
      </body>
    </html>
    

    ViewData

    • ViewData 是弱类型的字典(dictionary )对象。
    • 我们使用 string 类型的键值,来存储和查询 ViewData 字典中的数据,。
    • 可以从 ViewData 字典直接访问数据,而无需将数据转换为 string 类型。
    • 如果我们访问的是任何其他类型的数据,我们需要将其显式地转换为我们期望的类型。
    • 在我们的例子中,我们声明Student对象的学生,分别访问Student对象的 Name,Email 和 ClassName 属性。
    • ViewData 在运行时会进行动态解析,因此它不提供编译时类型检查,因此我们不会获得智能提示。
    • 由于我们没有智能感知,因此编写代码的速度降低,错误拼写和打错的可能性也很高。
    • 我们只会在运行时才知道这些错误。
    • 出于这个原因,我们通常不使用 ViewData。
    • 当我们使用 ViewData 时,我们最终会创建一个弱类型的视图。


    欢迎添加个人微信号:Like若所思。

    欢迎关注我的公众号,不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!一起学习共同进步!


     

  • 相关阅读:
    使用eclipse的时候maven项目的项目没有问题,但是项目报×
    大数据学习笔记5
    大数据学习笔记4
    Docker端口映射
    hadoop集群访问——Hadoop客户端访问、Java API访问
    Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)
    Java反射
    大数据学习笔记3
    大数据学习笔记2
    大数据学习笔记1-大数据处理架构Hadoop
  • 原文地址:https://www.cnblogs.com/cool2feel/p/11463473.html
Copyright © 2020-2023  润新知