并非所有代码路径都在Controller中返回值

时间:2017-01-26 23:50:58

标签: c# asp.net-mvc asp.net-mvc-4

我似乎无法弄清楚为什么我的[HttpPost]Index()方法会给我一条错误消息,说明

  

并非所有代码路径都返回值

我尝试将return View()放在AddModelError之后,但它仍然给出了错误消息。

public class SnowboardController : Controller
{
    [HttpGet]
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Index(SnowboardModel SbModel)
    {
        if (SbModel.DiscountSenior && SbModel.DiscountStudent)
        {
            ModelState.AddModelError("Discounts", "Dude, you cannot take both student and senior discounts.");
        }
        //return to view if any fields invalid
        if (!ModelState.IsValid)
        {
            return View(SbModel);
        }
    }
}

我在视图中添加了@Html.ValidationMessage("Discounts")

1 个答案:

答案 0 :(得分:5)

在Index方法中,所有返回都包含在ifs中...您需要在方法结束时返回。