Asp.net 重新初始化变量后页面加载中出现空引用异常
我已经在网上搜索了一个解决方案,这似乎是一个非常简单的问题,但每当我试图将变量保存到会话变量时,就会出现空引用异常。下面是我的代码。当我使用SaveTreeView方法时,我得到了空引用异常。quickwatch调试器显示正确的值。我曾尝试将任意对象分配给列表,但这也不起作用。有什么想法吗Asp.net 重新初始化变量后页面加载中出现空引用异常,asp.net,nullreferenceexception,pageload,Asp.net,Nullreferenceexception,Pageload,我已经在网上搜索了一个解决方案,这似乎是一个非常简单的问题,但每当我试图将变量保存到会话变量时,就会出现空引用异常。下面是我的代码。当我使用SaveTreeView方法时,我得到了空引用异常。quickwatch调试器显示正确的值。我曾尝试将任意对象分配给列表,但这也不起作用。有什么想法吗 private TreeViewState state; protected void Page_Load(object sender, EventArgs e) {
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());
}
}
私有树视图状态;
受保护的无效页面加载(对象发送方、事件参数e)
{
string[]roles=roles.GetRolesForUser(User.Identity.Name);
如果(角色数()!=0)
{
var service=newtreemapservice();
列表树映射=新列表();
//treeMap=service.GetTreeMap(角色[0]);
//int me=treeMap.First().ChildNode.ID;
state.SaveTreeView(treeMap);
AddChildren(null,TreePanelMain,null,state.GetTreeView());
}
}
状态
无论如何都不会初始化,因此作为类成员,它默认为null。你需要这样的东西:
state = new TreeViewState();
state.SaveTreeView(treeMap);
你的问题是状态变量我的人。