在 mvc 中,只有赋值、调用、递增、递减和新对象表达式可以用作语句



我正在尝试使用内联 if 在我的控制器中使用 DB 中的一个表获取金额

    public ActionResult IfPaid(int id)
    {
        Ref_ViewModel = new View_model.View_Model();
        Ref_ViewModel.GetAllCustomers(id).Any(p => p.Paid == false) ? RedirectToAction("Pay", "Account") : RedirectToAction("Download");
    }

我在最后一行收到此错误

只有赋值、调用、递增、递减和新对象表达式可以用作语句

我们如何解决这个问题?

你应该添加一个 return 语句:

public ActionResult IfPaid(int id)
{
    Ref_ViewModel = new View_model.View_Model();
    return Ref_ViewModel.GetAllCustomers(id).Any(p => p.Paid == false)
         ? RedirectToAction("Pay", "Account")
         : RedirectToAction("Download");
}

正如错误消息所说,三元运算符本身不是一个语句。它可以是另一个语句的一部分 - 例如上述返回语句或赋值语句

   int value = condition ? 0 : 42;

延伸阅读:语句(C# 编程指南(

相关内容

最新更新