我有一个带有数据列表的模型,我的View访问模型属性并呈现数据库状态。我的视图中有几个框根据数据库中各自的值显示颜色。每个div对应于数据库中的一个项目。
我知道我没有以正确的方式编码我的视图,但它是我希望我的视图看起来像(每个div ID对应于数据库中相应的boxID并显示其各自的颜色)。我想要在View中表示500个数据库值。
@model List<My.Namespace.BoxStatusModel>
<table>
<tr class="first">
<td class="dclass1">
<div id="@boxStatus.boxID" class="top @boxStatus.Color">
<div id="@boxStatus.boxID" class="top @boxStatus.Color">
<div id="@boxStatus.boxID" class="bottom @boxStatus.Color">
<div id="@boxStatus.boxID" class="bottom @boxStatus.Color">
</td>
<td class="dclass2">
<div id="@boxStatus.boxID" class="top @boxStatus.Color">
<div id="@boxStatus.boxID" class="top @boxStatus.Color">
<div id="@boxStatus.boxID" class="bottom @boxStatus.Color">
<div id="@boxStatus.boxID" class="bottom @boxStatus.Color">
</td>
...
</tr>
<tr class="second">
...
</tr>
</table>
我的控制器
public class HomeController : Controller
{
public ActionResult Index()
{
MySQL msql = new MySQL();
List<List<string>> results = msql.SelectTable("Select boxID, boxStatus from BoxStatusModel");
List<BoxStatusModel> model = new List<BoxStatusModel>();
for (int i = 0; i < results.Count; i++)
{
model.Add(new BoxStatusModel()
{
slotID = results[i][0],
currentStatus = results[i][1]
});
}
return View(model);
}
}
我的ViewModel
namespace My.ViewModels
{
public class BoxStatusModel
{
public int ID { get; set; }
public string boxID { get; set; }
public string boxStatus { get; set; }
public string Color
{
get
{
switch (boxStatus)
{
case "busy":
return "red";
case "available":
return "green";
default:
return "";
}
}
}
}
}