我尝试将不同表中的2个值相乘,但它会像这样保持错误:
这是我的代码:
//Label12 is in datalist
var Label12 = (Label)(((Button)sender).Parent).FindControl("Label12");
var item2 = from c in db.OrderTemps
join o in db.Products
on c.Prod_ID equals o.Prod_ID
select new
{
o.Prod_ID,
o.Prod_Price, //Type "Decimal"
c.Amount, //Type "Integer"
c.Total, //Type "Decimal
s = o.Prod_Price * c.Amount
};
foreach (var i in item2)
{
Label12.Text = Convert.ToString(i.s); //an error happen here!!
}
任何帮助表示感谢。
答案 0 :(得分:1)
LINQ查询没有任何问题。如果没有记录加入,则没有任何内容可以枚举,您将跳过foreach正文。我认为你Label12
等于null
。检查发件人父母是否确实存在。
SIDE注意:为什么要尝试循环分配文本?标签将仅保留最后一个值。
答案 1 :(得分:0)
检查 OrderTemps 表中的金额值是否为空。或检查您是否确实拥有ID = Label12的控制器。 您的Linq查询没有错...