我似乎无法弄清楚为什么我的[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")
。
答案 0 :(得分:5)
在Index方法中,所有返回都包含在ifs中...您需要在方法结束时返回。