zoukankan      html  css  js  c++  java
  • 数据呈现到 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若所思。

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


     

  • 相关阅读:
    探索SaaS产业发展新机遇|鲁班会贵安首秀圆满收官
    带你认识三种kafka消息发送模式
    常用的echo和cat,这次让我折在了特殊字符丢失问题上
    当MySQL执行XA事务时遭遇崩溃,且看华为云如何保障数据一致性
    一图解析MySQL执行查询全流程
    HDFS源码解析:教你用HDFS客户端写数据
    大型集团企业云管平台建设参考架构
    带你了解家居智能的心脏:物联网关
    带你认识7种云化测试武器
    实践解析可视化开发平台FlinkSever优势
  • 原文地址:https://www.cnblogs.com/cool2feel/p/11463473.html
Copyright © 2011-2022 走看看