【问题标题】:NullReferenceException in ViewBag [duplicate]ViewBag 中的 NullReferenceException [重复]
【发布时间】:2014-03-21 23:13:30
【问题描述】:

我的 ViewBag 行抛出 NullReferenceException:

public ActionResult KnowledgebaseSuggestions(String IncidentTags)
    {
        KnowledgeService KS = new KnowledgeService(db);
        ViewBag.KSResults = KS.GetSuggestionsByTags(IncidentTags.Split(',').Select(t => t.Trim()).ToList());
        return View();
    }

GetSuggestionsByTags 方法是:

   private readonly db_SLee_FYPContext db;

    public KnowledgeService(db_SLee_FYPContext db)
    {
        this.db = db;
    }


    public IEnumerable<KnowledgebaseViewModel> GetSuggestionsByTags(IEnumerable<string> tags)
    {
        var validSuggestions = db.Knowledgebases.Where(k => tags.Any(t => k.KnowledgebaseTitle.Contains(t)))
                                    .Select(k => new KnowledgebaseViewModel()
                                    {
                                        ID = k.KnowledgebaseID,
                                        Title = k.KnowledgebaseTitle,
                                        Link = k.KnowledgebaseLink
                                    })
                                    .ToList();

        return validSuggestions;
    }

我不确定 NullReference 也引用了什么,或者为什么它首先会是 NullReference?

【问题讨论】:

  • 您忘记包含 KnowledgebaseSuggestions.cshtml 文件?这就是可能发生异常的地方..
  • 该文件是我的解决方案的一部分,并且在正确的位置。
  • ViewBagKSIncidentTags肯定不为空?
  • NullReferenceException 的几乎所有情况都是相同的。请参阅“What is a NullReferenceException in .NET?”获取一些提示。

标签: c# asp.net asp.net-mvc nullreferenceexception


【解决方案1】:

忘记重命名我的路线属性

【讨论】:

  • 最好将自己的答案作为答案,即使它不是完整的答案,这样他们也可以接受。评论只是暂时的。更好的是,OP 可以删除这个问题。如果这个答案被删除,我们就无法知道 OP 确实解决了这个问题,即使它不是 Stack Overflow 标准的“正确”答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-01
相关资源
最近更新 更多