上善若水

水善利万物而不争
随笔 - 175, 文章 - 0, 评论 - 10, 阅读 - 14万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

.NETCore | MVC | 3 ViewData、ViewBag、ViewMode

Posted on   董锡振  阅读(242)  评论(0编辑  收藏  举报

资料来之:https://www.bilibili.com/video/BV1mY411K7C5?p=6

笔记如下:

ViewData 是ViewDataDictionary类型,字典类型,只要key值不重复前端可正常访问

 

因此我们在Controller的方法内赋值时可以如下操作:

 

 

 View中方法方式代码:

@{
    var tc = @ViewData["tc"] as MVC02.Models.Teacher ;
} 
<h1>@ViewData["name"]</h1>
<h1>@tc.name</h1>

ViewBag也是通过键值对的方式给View传值,为dynamic动态类型是在程序运行时才解析对应的类型数据

 

 

 用法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public IActionResult Index()
       {
           Teacher tc = new Teacher()
           {
               name = "TeacherName",
               sex = "女",
               age = 18
           };
           ViewData["name"] = "dong";
           ViewData["tc"] = tc;
 
           ViewBag.Teacher = tc;
           ViewBag.TeacherStr = "我来之ViewBag";
 
 
           return View(tc);
       }
1
2
<h1>@ViewBag.TeacherStr</h1>
<h1>@ViewBag.Teacher.name</h1>

ViewMode

 

 

1
2
3
4
5
public class TeacherInfo
 {
     public Teacher Tec { get; set; }
     public Address Ads { get; set; }
 }

  

1
2
3
4
5
public class Address
{
    public string Privince { get; set; }
    public string City { get; set; }
}

  

复制代码
public IActionResult Index()
        {
            TeacherInfo info = new TeacherInfo();
            info.Tec = new Teacher()
            {
                name = "张三",
                sex = "",
                age = 18
            };
            info.Ads = new Address()
            {
                Privince = "河南",
                City = "郑州"
            };
            return View(info);
        }
复制代码
1
2
3
@model MVC02.ViewModels.TeacherInfo 
<h1>@Model.Tec.name</h1>
<h1>@Model.Ads.City</h1>

  

 

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示