2013-05-22 69 views
0

我的站點中有Locations列。在數據庫中有單獨的表,當顯示位置時,對象引用未設置爲對象

國家 國家 城市 地區

這些所有的表ID是存儲位置表,則位置表ID在candidatedetails簡稱LocationId。

我的問題是,我想顯示候選人存儲的位置。例如:

例如:

位置:城市,這樣的國家。如果locationId爲空意味着它表明

「對象未設置爲一個對象」

於是我就用這樣的代碼下面,

<strong>Present Location:</strong> 
     <%if (Model.LocationId.HasValue) 
      { %> 
      <%:Model.GetLocation(Model.LocationId.Value).City.Name%><%:","%><%:Model.GetLocation(Model.LocationId.Value).Country.Name%> 
     <%} else { %> 
       <%:Model.LocationId == null ? "" : Model.GetLocation(Model.LocationId.Value).City.Name%><%:","%><%:Model.GetLocation(Model.LocationId.Value).Country.Name%> 
     <%} %> 

在庫:

public Location GetLocation(int locationId) 
    { 
     return _db.Locations.SingleOrDefault(l=>l.Id==locationId); 
    } 

但我仍然在上面的代碼錯誤...任何人都可以幫助我嗎?

回答

0

SingleOrDefault將返回null爲「默認」上課的時候沒有找到匹配的,因此,即使檢查LocationId是非法的Model會是這個結果,null - 所以,你需要做你的型號空校驗。如果它是東西而不是沒有那麼它是一個位置實例。

+0

有什麼辦法可以在html頁面中檢查null嗎? – Duk

+0

'<%if(Model!= null)...' –

+0

我仍然得到相同的錯誤。 – Duk

相關問題