2016-04-24 16 views
3

オブジェクト(国)がnullでない場合、ビューを返したいと思います。しかし、私はエラー「すべてのコードパスが値を返さない」MVCでビューを返すときに「すべてのコードパスが値を返すわけではありません」

は私のコードは、この

public ActionResult Show(int id) 
{ 
    if (id != null) 
    { 
     var CountryId = new SqlParameter("@CountryId", id); 
     Country country = MyRepository.Get<Country>("Select * from country where [email protected]", CountryId); 
     if (country != null) 
     { 
      return View(country); 
     } 
    } 

} 

答えて

5

のように見えますあなたは「もし」ステートメント内から何かを返すされている場合に発生します。コンパイラは、if条件がfalseの場合はどうしますか?そうすれば、関数で返される戻り値の型が "ActionResult"であっても何も返されません。したがって、else文にデフォルトの戻り値をいくつか追加してください:

public ActionResult Show(int id) 
{ 

    if (id != null) 
    { 
     var CountryId = new SqlParameter("@CountryId", id); 
     Country country = MyRepository.Get<Country>("Select * from country where [email protected]", CountryId); 

     if (country != null) 
     { 
      return View(country); 
     } 
     else 
     { 
      return View(something); 
     } 
    } 
    else 
    { 
     return View(something); 
    } 
} 
関連する問題