Asp.net 5.0 MVC 把List传到View显示

需求

有个小功能需求点,我们要把一个表格数据, 即一个List,显示在Views 模板, 我们应该怎么传值,怎么显示

 

基础知识

 

我们知道Asp.Net的模板 数据容器是ViewData, 那么我们可以先把List 传给ViewData, 先看示例代码


 

我们先定义了一个List,然后赋值给ViewData数据容器

 

 List<String> viewList = new List<String>();
            viewList.Add("hello");
            viewList.Add("Gays");
            viewList.Add("Are you ok");
            ViewData["FeedList"] = viewList;

接下来看看模板层


 

注意这里有一个Cast 形态转换, 这里解释一下, 默认ViewData容器, 它的Value是Object数据类型的. 因为Csharp是一个强类型的语言, 如果不Cast,这里就直接报错了, 编译不通过.

 

只有当你用Cast ,告诉编译器,这是一个List<String>数据类型,那么它才可以用foreach的 函数来处理,

 

foreach 形如其名, 作用就是把一个List,或者其他可以迭代的数据类型,解构, 赋值到你所定义的变量, 这里是String lv

 

var lv 是一个语法糖, 你写String lv也是可以, var lv的写法, 编译器会自动去识别数据类型该是什么

 

总结

 

传值List到View很简单, 首先就是利用ViewData 数据容器, 它是万能的,传啥都行, 然后就是View层,模板里面,用的时候, 需要Cast 一把,告诉编译器是什么数据类型.

分类: .NET 标签: 发布于: 2020-12-26 19:35:42, 点击数: