2016-04-24 39 views
3

我想在對象(國家/地區)不爲空時返回視圖。但我得到的錯誤「並非所有的代碼路徑返回一個值」當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」條件是錯誤的呢?這樣,即使在函數中定義了返回類型「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); 
    } 
} 
相關問題