0
我直接放在Razor上查看Linq Query以獲取列表中的年齡平均值......當該列表爲空時,它將拋出一個空引用異常... The代碼的偉大工程當列表不爲空..空列表的平均值在Razor視圖中拋出異常
這是對Razor視圖的代碼片段(唯一的例外是從這裏拋出):
<label> Age average:</label>@Model.DefaultIfEmpty().Average(p => p.Age)
這是代碼片段,其中列表在控制器類上創建(當不存在巧合時拋出異常,我的意思是當列表爲空時...):
public ActionResult Index(int? age, string name)
{
var people = db.People.ToList();
if (age != null && !string.IsNullOrEmpty(name))
{
people = db.People.Where(x => x.Age >= age && x.Name.Contains(name)).ToList();
}
else if (age != null && string.IsNullOrEmpty(name))
{
people = db.People.Where(x => x.Age >= age).ToList();
}
else if (age == null && !string.IsNullOrEmpty(name))
{
people = db.People.Where(x => x.Name.Contains(name)).ToList();
}
return View(people);
}
如何在Razor視圖中將平均值的默認值設置爲0如果列表爲空? 我一直在嘗試與合併操作符?但我不知道如何做到這一點,是在一個剃刀視圖..
它工作得很好!!我會根據您的建議和我將創建一個新的視圖模型屬性... – AlexGH