来自Foreach的C#总值
因此,我做了一个cshtml网站,我似乎无法弄清楚如何总结数据库和foreach每行的产品!来自Foreach的C#总值
var db = Database.Open("TestDB"); var getData = "SELECT * FROM Test";
然后
@foreach (var get in db.Query(getData)) { <a>@get.kg</a>
<a>@get.set</a>
<a>@get.rep</a>
//So this row gives me the product of each row in the database
@(get.kg * get.set * get.rep)
<br>
}
但后来我想所有的总数相加为一个大的总!不知道该怎么做!
回答:
我CSHTML是有点生疏,但我认为这会做的伎俩在紧要关头为您:
@{ var sumTotalWeight = 0 } @foreach (var get in db.Query(getData)) {
<a>@get.kg</a>
<a>@get.set</a>
<a>@get.rep</a>
@{
var totalWeight = @get.kg * @get.set * @get.rep;
sumTotalWeight += totalWeight
}
<br>
}
@sumTotalWeight
真的更好的方式来处理这个问题,虽然是做你的计算和数学在你的代码后面,把你的价值观在ViewBag - 这让你的UI代码更加清晰:
var query = @"SELECT kg, set, rep, kg*set*rep as 'total' FROM Test"; using (var db = Database.Open("TestDB"))
{
// .ToArray() to materialize the query;
ViewBag.Items = db.Query(query).ToArray();
// you might need to cast to ints (i'm not sure)
ViewBag.SumTotal = ViewBag.Items.Sum(i => (i.total));
}
然后在您的cshtml
:
@foreach (var item in ViewBag.Items) { <a>@item.kg</a>
<a>@item.set</a>
<a>@item.rep</a>
@item.total
<br>
}
Total: @ViewBag.SumTotal
以上是 来自Foreach的C#总值 的全部内容, 来源链接: utcz.com/qa/258697.html