【发布时间】:2015-06-13 16:06:42
【问题描述】:
我认为使用 ViewBag 比模型快。
我的例子是:
在行动中:
public ActionResult MyAction()
{
ViewBag.Data = (from m in myDatabase.myTable select m).ToList();
}
在视图中:
@foreach(var item in ViewBag.Data)
{
<tr>
<td>@item.myColumn</td>
</tr>
}
通过使用模型:
[Table("tbl_mytable")]
public class MyTable()
{
public int Id { get; set; }
public int Column2 { get; set; }
public int Column3 { get; set; }
// ...
public IEnumerable<MyTable> Data { get; set; }
}
在模型中:
public class MainClass
{
public List<MyTable> MyMethod()
{
List<MyTable> list = new List<MyTable>();
// code logic to find data in database and add to list
list.Add(new MyTable
{
Column2 = ...
Column3 = ...
});
return list;
}
}
在行动中:
public ActionResult MyAction()
{
MainClass mc = new MainClass();
MyTable model = new MyTable();
model.Data = mc.MyMethod();
return View(model);
}
在视图中:
@using MyProjectName.Models
@model MyProjectName.Models.MyTable
@foreach(MyTable item in Model.Data)
{
<tr>
<td>@item.Column1</td>
</tr>
}
两者都在工作,ViewBag 比模型更容易。
那么,你能告诉我:我应该什么时候使用 ViewBag/model?
【问题讨论】:
标签: c# model asp.net-mvc-5 viewbag