我是 C#/MVC 的相对新手,在将矩形数组传递给 ViewData(然后尝试从 View 文件中显示内容)时遇到了一个问题。
我的数组是从数据库查询中填充的,据我所知,它运行良好:
Media [
Images [
[Id (int), Type (int), File (string), Title (string)],
[Id (int), Type (int), File (string), Title (string)],
[Id (int), Type (int), File (string), Title (string)]
]
Videos [
[Id (int), Type (int), File (string), Title (string)],
[Id (int), Type (int), File (string), Title (string)]
]
]
我将主数组(图像和视频)的每一半分配给控制器中的一个单独的 ViewData 对象:
ViewData["Images"] = Media.Images.ToArray();
ViewData["Videos"] = Media.Videos.ToArray();
视图知道这些对象在那里,但我似乎无法弄清楚如何遍历每个数组并从视图中访问每个单独的索引(Id、Type、File、Title)并将每一块添加到视图的 HTML代码。
一种选择是在控制器中构造 HTML,但我真的想避免这种情况。
有什么想法我哪里出错了吗?
编辑:这是解决方法,感谢大家促使我走上正确的道路:)
控制器:
ViewBag.Images = Media.Images;
网络配置:
<namespaces>
<add namespace="Path.to.Models" />
...
</namespaces>
看法:
str_code = "<ul>";
foreach (Media image in ViewBag.Images)
{
str_code += "<li>" + image.Title + "</li>";
}
str_code += "</ul>";
Response.Write(str_code);