0

ビューには次のものがあります。

 @Html.DropDownListFor(model => model.Search, new SelectList(Model.SearchOptions))

私の検索オブジェクトには次のものがあります。

    public List<string> Search { get; set; }

    public Dictionary<string, string> SearchOptions { get; set; }

    public SearchModel GetDropDownOptions(SearchModel model)
    {
        model.SearchOptions = HelperModel.GetRefValues(db, Constants.SEARCH, false);

        return model;
    }

それを呼び出すと:

public static Dictionary<String, String> GetRefValues(DBEntities db, string refType, bool addEmpty)
    {

        Dictionary<String, String> res = (from c in db.References
                                          where c.Type == refType
                                          select c).ToDictionary(c => c.Key.ToString(),
                                                                 c => c.Value.ToString());

        if (addEmpty)
            res.Add("", "");

        return res;
    }

ただし、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。

提案をいただければ幸いです。

ありがとう。

4

1 に答える 1

2

You should validate the parameters of all public methods. So your method:

GetRefValues(DBEntities db, string refType, bool addEmpty)

should include a check to see if db is null and if refType is null. If you do that you'll be able to see which of those two are null and then you can fix your code accordingly by tracing back to see where they are initialized (or not, as the case may be.)

于 2012-05-09T18:22:31.663 に答える