初始化变量后页面加载中的空引用异常

时间:2014-03-05 22:27:16

标签: asp.net nullreferenceexception pageload

我已经在网上搜索了一个解决方案,这似乎是一个非常简单的问题,但每当我尝试将变量保存到会话变量时,我都会得到一个空引用异常。以下是我的代码。当我到达 SaveTreeView 方法时,我得到空引用异常。 quickwatch调试器显示正确的值。我已经尝试将任意对象分配给列表,这也不起作用。有什么想法吗?

    private TreeViewState state;

    protected void Page_Load(object sender, EventArgs e)
    {
        string[] roles = Roles.GetRolesForUser(User.Identity.Name);

        if (roles.Count() != 0)
        {
            var service = new TreeMapService();

            List<TreeStructure> treeMap = new List<TreeStructure>();

            //treeMap = service.GetTreeMap(roles[0]);
            //int me = treeMap.First().ChildNode.ID;

            state.SaveTreeView(treeMap);

            AddChildren(null, TreePanelMain, null, state.GetTreeView());
        }
    }

1 个答案:

答案 0 :(得分:2)

state无论如何都没有初始化,因此作为类成员,它是null是默认值。你需要这样的东西:

state = new TreeViewState();
state.SaveTreeView(treeMap);