如何解决在MVC中汇总表
| 我是使用MVC的新手,我对汇总表中的行数据有疑问。 一些背景: 首先,我使用普通的SQL语句收集了大量数据。我使用DataTable来存储数据。然后,我使用普通的HTML表输出数据。这工作得很好,我没有问题。 我现在想总结每一行的所有值,并将结果显示在底行。 我知道我已经可以在数据层中做到这一点。遍历数据表并将行的值汇总到新行中。然后最后在最后一行附加“摘要行”。 一些代码: <tr class=\"header\">
<th>Person</th>
<th>NrOfRows</th>
</tr>
<% foreach (System.Data.DataRow row in Model.Rows) { %>
<tr>
<td><%: row[\"Name\"].ToString()%></td>
<td><%: row[\"NrOfRows\"].ToString()%></td>
</tr>
您能否建议我这是最好/最简单的方法
解决方法
在ControllerAction中进行计算。像这样的东西
public ActionResult Index()
{
var rows = this.repository.GetAll();
this.ViewData[\"total\"] = rows.AsEnumerable().Select(o => o[\"NrOfRows\"]).Select(o => int.Parse(o)).Sum();
return this.View(rows);
}
, 您应该考虑是否不想将数据“打包”到模型(类)中。在模型部分的mvc项目中添加类:
public class YourModel
{
public string Name
public int NrOfRows
public YourModel(string name,int nrOfRows)
{
Name = name;
NrOfRows = nrOfRows;
}
}
然后在控制器方法中执行以下操作:
public ActionResult Summarize(/*parameters list*/)
{
var rows = (get data) //In here you assign here your table content
ViewData.Model = rows.Select(row => new YourModel(row[\"Name\"],int.Parse(row[\"NrOfRows\"])));
ViewData[\"nrRowCount\"] = rows.Select(row => row.NrOfRows).Sum();
return View();
}
然后转到视图:
<table>
<th>Person</th>
<th>nrOfRows</th>
<%: foreach(var yourModel in Model) { :%>
<tr>
<td>yourModel.Name</td>
<td>yourModel.NrOfRows</td>
</tr>
<%: } :%>
<tr>
<td>Summary: </td>
<td> <%: ViewData[\"nrRowCount\"] %:></td>
</tr>
</table>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。