ASP.NET Core 6 MVC 中新 SelectListItem 中的条件逻辑

Conditional logic in new SelectListItem in ASP.NET Core 6 MVC

我想设置一个SelectListItem的文本值。

最简单的方法是什么?我尝试了以下变体,但没有成功。

 public IActionResult Upsert(int? id)
 {
    RegistrationVM registrationVM = new()
    {
        Registration = new(),
        AttendedList = _unitOfWork.Registration.GetAll().Select(i => new SelectListItem
        {
            if (i.ATTENDED == 0)
            {
                Text = "No"
            }
            else
            {
                Text = "Yes"
            },
            Value = i.ATTENDED.ToString()
        })
    };
}

您需要一个解析为值的表达式,而不是一组形成控制流块的语句。在我看来,最简单的是三元组:

    AttendedList = _unitOfWork.Registration.GetAll().Select(i => new SelectListItem
    {
        Text = i.ATTENDED == 0 ? "No" : "Yes",
        Value = i.ATTENDED.ToString()
    })