c# - 添加新的选择列表项时对象引用错误

标签 c# asp.net-mvc list selectlistitem

我在使用 List<SelectListItem> 时遇到问题.每当代码命中 foreach它说:

object reference not set to an instance of an object.

我是不是遗漏了什么或者谁能解释为什么它在那里失败了?

public ActionResult HammerpointVideos(string category, string type)
{
    var stuff = Request.QueryString["category"];

    var ItemId = (from p in entities.EstimateItems
                  where p.ItemName == category
                  select p.EstimateItemId).FirstOrDefault();

    var Videos = (from e in entities.EstimateVideos
                  where e.EstimateItemId == ItemId
                  select new Models.HammerpointVideoModel
                  {
                      VideoName = e.VideoName,
                      VideoLink = e.VideoLink
                  }).ToList();

    var model= new Models.HammerpointVideoListModel();
    List<SelectListItem> list = model.VideoList;

    foreach (var video in Videos)
    {
        list.Add(new SelectListItem()
                    {
                        Selected=false,
                        Value = video.VideoLink,
                        Text = video.VideoName
                    });

    }
}

最佳答案

ViedoList之前是否初始化过?我认为不是。创建新列表向其添加项目,然后在您的模型中添加对它的引用:

var model = new Models.HammerpointVideoListModel();
List<SelectListItem> list = new List<SelectListItem>();

foreach (var video in Videos)
{
    list.Add(new SelectListItem()
                {
                    Selected=false,
                    Value = video.VideoLink,
                    Text = video.VideoName
                });

}

model.VideoList = list;

关于c# - 添加新的选择列表项时对象引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17169119/

相关文章:

c# - 系统.Delegate System.Reflection.MethodInfo.CreateDelegate(System.Type)

list - 使用 Python (Google Maps API) 从地理编码结果列表中提取纬度/经度

c# - 为什么 roslyn 对于未签名的引用给出警告 CS8002 而不是错误 CS1577?

c# - 从复选框列表中删除所选内容

asp.net-mvc - 如何更改 ASP.Net MVC Identity 2 中的密码验证?

asp.net-mvc - 如何在 MVC4 中调用自定义模型绑定(bind)器?

c# - 如何用许多字符串值初始化字符串列表 (List<string>)

Python正则表达式,匹配最后一个词

c# - 如果从 using 语句中抛出异常,是否仍会调用清理逻辑?

c# - 在ASP.NET MVC中发生NullReferenceException异常时在浏览器中创建错误消息