我也是最近才开始研究c#mvc结构的 小菜鸟一名 起初看着书一点点的敲代码 都是按照例子敲 结果前台输出的都是String类型的 可是我想将后台的list类型传到前台去展示的时候总是出现 不包含“GetEnumerator”的公共定义的问题 ,这个问题困扰了好久 ,后来经过长时间的摸索终于搞清楚如何显示了,不说废话 直接上代码:
模型类:
public class yuangongxinxi
{
public string yg_id { get; set; }
public string yg_name { get; set; }
public int yg_sex { get; set; }
public int yg_age { get; set; }
public System.DateTime yg_birthday { get; set; }
public string yg_xueli { get; set; }
public string yg_address { get; set; }
public string yg_jiguan { get; set; }
public int yg_status { get; set; }
public string yg_note { get; set; }
}在模型类的同一个目录下直接创建一个类:
public class YuanGongs<T>
{
public IEnumerable<T> DataList { get; set; }
}我的数据都是通过数据库取出来的,这里我就不贴如何获取数据库的里面的代码,我们在类文件中直接添加数据:
public ActionResult Index()
{
List<yuangongxinxi> list = new List<yuangongxinxi> {
new yuangongxinxi { yg_name="zhangsan", yg_sex=1, yg_age=12, yg_address="earth", yg_jiguan="china", yg_id="1" , yg_xueli="gaozhong", yg_note="无", yg_birthday=DateTime.Now, yg_status=1},
new yuangongxinxi { yg_name="list", yg_sex=1, yg_age=12, yg_address="earth", yg_jiguan="china", yg_id="1" , yg_xueli="gaozhong", yg_note="无", yg_birthday=DateTime.Now, yg_status=1},
new yuangongxinxi { yg_name="wangwu", yg_sex=1, yg_age=12, yg_address="earth", yg_jiguan="china", yg_id="1" , yg_xueli="gaozhong", yg_note="无", yg_birthday=DateTime.Now, yg_status=1},
new yuangongxinxi { yg_name="zhaoliu", yg_sex=1, yg_age=12, yg_address="earth", yg_jiguan="china", yg_id="1" , yg_xueli="gaozhong", yg_note="无", yg_birthday=DateTime.Now, yg_status=1},
new yuangongxinxi { yg_name="tianqi", yg_sex=1, yg_age=12, yg_address="earth", yg_jiguan="china", yg_id="1" , yg_xueli="gaozhong", yg_note="无", yg_birthday=DateTime.Now, yg_status=1},
new yuangongxinxi { yg_name="sunba", yg_sex=1, yg_age=12, yg_address="earth", yg_jiguan="china", yg_id="1" , yg_xueli="gaozhong", yg_note="无", yg_birthday=DateTime.Now, yg_status=1}
};
var res = new YuanGongs<yuangongxinxi> { DataList = list };
return View(res);此时list已经创建好了 并且转换成了IEnumerable类型 就是下面的这个代码块 var res = new YuanGongs<yuangongxinxi> { DataList = list };接下来就去视图中遍历就好了,在Index上右键单击添加视图,模型设置为空,在Index.cshtml中最上面添加下列代码
@model EF_YGGL.Models.YuanGongInfo.YuanGongs<EF_YGGL.Models.YuanGongInfo.yuangongxinxi>这句话的意思就是找YuanGongs<T>这个类所在的目录,T就是模型类所在的目录此时准备工作就已经做好了,接下来就可以遍历我们从后台传过来的集合数据了
在Index视图中,添加如下代码:
@foreach (EF_YGGL.Models.YuanGongInfo.yuangongxinxi a in Model.DataList) {
<div> @a.yg_id.ToString()</div><br/>
}这样就ok了,可以直接运行项目了,就能直接显示集合数据的内容了。
这里面还有一些项目开始准备的东西我没有细讲,有什么不对的地方请大家指正,因为我也是个菜鸟
本文介绍了作者在使用C# MVC框架时遇到的问题:在前台尝试遍历从后台传递的List类型数据时,遇到'GetEnumerator'未定义的错误。作者通过创建模型类、模拟数据并最终在Index视图中使用foreach循环成功展示了数据。文章以代码示例为主,展示了问题的解决过程。
648

被折叠的 条评论
为什么被折叠?



