我得到System.NullReferenceException在制作下拉列表时asp.net mvc

时间:2016-04-28 12:46:07

标签: c# linq asp.net-mvc-4

这是我做的:

在我的视图模型中,我编写了以下代码:

 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 :(得分:-1)

nullRefException告诉你某些东西是空的(逻辑)。

我认为您必须先检查此代码是否先返回。

  

返回新的UsersContext()                   .Categories                   .OrderBy(e =&gt; e.CategoryName)                   .ToList()

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

如果没有,则例外是正常的。