2017-01-26 1 views
-1

に値を返す私は私の[HttpPost]Index()方法は、私がないすべてのコードパスがコントローラー

は、すべてのコードパスが

値を返さないというエラーメッセージを与えている理由を把握するように見えるカントAddModelErrorの後にreturn View()を入れてみましたが、それでもエラーメッセージが表示されます。

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

'if'条件が' false'を返さない場合、 'return'ステートメントはありません。通常、メソッドの最後に保存してリダイレクトするコードがあります(' return RedirectToAction(...); ') –

答えて

5

インデックスメソッドでは、すべてのリターンがif ...でラップされます。メソッドの最後にリターンが必要です。

関連する問題