Viewbag 数据列表不会显示在 HTML 视图中

Viewbag data list won't show in the HTML View

在我的 ASP.NET MVC 应用程序中,我试图将一些值从控制器传递到视图。 为此,我使用了查看包的方法。

数据从控制器传递到视图。

for each循环内的视图中,也显示了视图包中的数据。

但是当它运行时,我得到一个错误'object' does not contain a definition for 'cusName'

这是控制器

var SuggestionList = (from c in db.tbl_Main 
                      where c.Suggestion != null orderby c.CreatedDate descending select new 
                      {
                        cusName = c.CustomerName, 
                        Suggest = c.Suggestion
                      }).Take(3).ToList();
 ViewBag.suggestList = SuggestionList;
 return View();

在视图中

  @foreach(var data in ViewBag.suggestList) {
    <li > @data.cusName < /li>
  }

建议创建一个模型 class(具体类型)并将其作为 List<ExampleModel> 类型而不是匿名列表返回。

public class ExampleModel
{
    public string CusName { get; set; }
    public string Suggest { get; set; }
}
var SuggestionList = (from c in db.tbl_Main 
    where c.Suggestion != null 
    orderby c.CreatedDate descending 
    select new ExampleModel
    {
        CusName = c.CustomerName, 
        Suggest = c.Suggestion
    })
    .Take(3)
    .ToList();

ViewBag.suggestList = SuggestionList;
return View();