2016-04-28 8 views
-1

は私がやったことあるドロップダウンリストのasp.net MVCを行う場合System.NullReferenceExceptionを得た:、私はここで

public int CategoryID; 
    public IEnumerable<SelectListItem> CategoryList 
    { 
     get 
     { 
      return new UsersContext() 
       .Categories 
       .OrderBy(e => e.CategoryName) 
       .ToList() 
       .Select(e => new SelectListItem { Text = e.CategoryID + " " + e.CategoryName, Value = e.CategoryID.ToString() }); 
     } 
    } 

そして、私の見解では:私の見解モデルで

、私は次のコードを書きました私はこれを書いた:

<div class="editor-field"> 
    @Html.DropDownListFor(model => model.CategoryID, new SelectList(Model.CategoryList, "Value", "Text")/*, new Dictionary<string, object> { { "data-placeholder", "Choose a sandbox..." }, { "class", "chzn-select" }, { "style", "width:200px;" } }*/) 
    </div> 

私はそれが例外を投げつけ続けている理由を理解できません。私はこれを解決する方法について助けが必要です兄弟ください。

+1

あなたのゲッターは、この例外がスローされているから良いアプローチ –

+0

ないが、すべてのゲッターでこれをやっている理由は、非常に奇妙なのですか? – Fermin

+0

あなたの答えは以下のリンクを参照してください[http://stackoverflow.com/questions/3057873/how-to-write-a-simple-html-dropdownlistfor](http://stackoverflow.com/questions/3057873/how-簡単なHTMLドロップダウンリストを作成する) –

答えて

-1

nullRefExceptionが何かがnull(論理)であることを示します。

このコードが何かを最初に返すかどうかを確認する必要があると思います。

リターン新しいUsersContext() .Categories .OrderBy(E => e.CategoryName) .ToList()

bool isSomethingAvailable = new UsersContext().Categories.Any(); 

ない場合は、例外は正常です。