0

这是我的课程

public static class Sessions
{

    public class UserSession
    {

        public string CurrentSelected
        {
            get;
            set;
        }
        public string Req
        {
            get;
            set;
        }
        public DateTime Reque
        {
            get;
            set;
        }

        public List<Options> Option;
    }

    public class Option
    {
        public string Te;
        public string Fe;
        public string Fg;
        public string DE;
    }

}

我为我的班级创建了一个新课程

    Session["SessionStats"] = new UserSession();

然后我尝试添加到列表

    foreach(string hello in helloworld) {
                Options RO = new Options();
                RO.DE = item.GetDataKeyValue("DE").ToString();
                RO.Fg = item.GetDataKeyValue("Fg").ToString();
                RO.Fe = item.GetDataKeyValue("Fe").ToString();
                RO.Te = item.GetDataKeyValue("Te").ToString();
    }

这是发生错误的地方

((UserSession)Session["SessionStats"]).Options.Add(RO);

RO 已正确填充但((UserSession)Session["SessionStats"]).Option为空,我不确定如何将 RO 添加到此列表中。这必须是一个列表,因为我需要将 10 个 RO 放入此列表。

4

2 回答 2

0

您正在混合“选项”和“选项”。将类名从“选项”更改为“选项”。然后更改此行:

((UserSession)Session["SessionStats"]).Options.Add(RO);

((UserSession)Session["SessionStats"]).Option.Add(RO);
于 2013-07-30T20:27:09.417 回答
0

Session["SessionStats"] = new UserSession();

您已将属性为 nullUserSession的新添加到. 然后,当你这样做OptionSession

((UserSession)Session["SessionStats"]).Options.Add(RO);

您正在拉出同一个对象并访问该Option属性,该属性为空,因此NullReferenceException.

看起来您忘记为新创建UserOptionOption属性分配一些东西。但是,您似乎没有使用Options您正在实例化的foreach任何东西......

于 2013-07-30T19:47:51.830 回答