来自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

回到顶部