2013-08-05 13 views
0

我有folloiwng _CreateOrEdit局部視圖: -HTML.Editor空值

@model TMS.ViewModels.RackJoin 
@* This partial view defines form fields that will appear when creating and editing entities *@ 
@Html.AntiForgeryToken() 
<div > 
    <span class="f">RU </span> 
    @Html.EditorFor(model => model.Rack.RU) 
    @Html.ValidationMessageFor(model => model.Rack.RU) 
</div> 



<div > 
    <span class="f">Rack Name </span> 
    @Html.Editor("assetName", (Model.Resource.RESOURCENAME == null ? String.Empty : Model.Resource.RESOURCENAME)) 

    @Html.ValidationMessageFor(model => model.Resource.RESOURCENAME) 
</div> 

<div > 

編輯是已經存在的記錄時,認爲將工作做好,但如果它是一個新的對象,我會得到下面的異常: -

未將對象引用設置爲對象的實例。說明: 在執行當前的 Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關 錯誤以及源代碼位置的更多信息。

異常詳細信息:System.NullReferenceException:對象引用 未設置爲對象的實例。

在視圖內下面的代碼: -

@Html.Editor("assetName", (Model.Resource.RESOURCENAME == null ? String.Empty : Model.Resource.RESOURCENAME)) 

UPDATE

調用上述觀點的作用的方法是: -

public ActionResult Create() 
     { 
      ViewBag.PossibleDataCenters = repository.AllDataCenter().OrderBy(a => a.Name).ToList() ; 
      ViewBag.PossibleZones = repository.AllZone().OrderBy(a => a.Name).ToList(); 
      ViewBag.Products = repository.GetProducts("Rack").OrderBy(a => a.COMPONENTNAME).ToList(); 

      return View(); 
     } 
+0

你能解釋你的觀點嗎? –

+0

和什麼是修復,我的意思是你能修復它? –

+0

你在數據庫中使用hashset嗎? –

回答

0

我認爲問題在於,當你試圖通過我納新對象,那麼無論你是在傳遞零模型來查看或不被初始化

所以在線路

Model.Resource.RESOURCENAME 

如果任一型號爲空或Model.Resource爲null,則該模型的所有propertiese它會給你同樣的錯誤。

嘗試檢查NULL之前使用您的Model

+0

我該怎麼辦?我提供了調用此視圖的Get操作方法。 –