Session问题又来了,点树有时不更新Session["data"]
这个问题只涉及到下面唯一的一个简单的页面,C#代码和aspx代码全给出,为了说明问题,先画出我的树
学校各部门
L__教务处
L__德育处
L__后勤
L__工会
学年
L__高一
L__高二
L__高三
我每次一点树的结点会执行
Session["data"] = TreeView1.SelectedNode.ValuePath.ToString();
这时我再点树下方的一个按钮执行:
String data = Session["data"] as String;
Response.Write(data);
会正常显示出刚刚赋值的Session["data"]
如果我点“高一”后点按钮会显示“学年/高一”,
再点“高二”后点按钮会显示“学年/高二”,
这时再点“高一”后点按钮却不会显示“学年/高一”,而仍然是“学年/高二”
如果这时再点“高三”后点按钮,会显示“学年/高三”
总结一下就是,好像点过的按钮再点的话,不会更新Session["data"],只有点了没点过的,才会改变它
如何改正以上毛病让我能正常点“点过的按钮并赋给Session["data"]”?
C#代码部分:
略去using
public partial class a_a : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
Session["data"] = TreeView1.SelectedNode.ValuePath.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
String data = Session["data"] as String;
Response.Write(data);
}
}
网页代码部分:(您可能不需要看,里面就是一个树,我上面画了,和一个按钮)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Tree.aspx.cs" Inherits="a_a" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<style type="text/css">
.tree td div
{
height: 20px !important;
}
*
{
padding: 0;
margin: 0;
border: 0;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:TreeView ID="TreeView1" runat="server" LineImagesFolder="TreeLineImages"
ShowLines="True" ImageSet="Simple"
onselectednodechanged="TreeView1_SelectedNodeChanged" CssClass="tree"
Target="ContentFrame">
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
<SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD"
HorizontalPadding="0px" VerticalPadding="0px" />
<Nodes>
<asp:TreeNode Text="学校各部门" Value="学校各部门">
<asp:TreeNode Text="教务处" Value="教务处"></asp:TreeNode>
<asp:TreeNode Text="德育处" Value="德育处"></asp:TreeNode>
<asp:TreeNode Text="后勤" Value="后勤"></asp:TreeNode>
<asp:TreeNode Text="工会" Value="工会"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="学年" Value="学年">
<asp:TreeNode Text="高一" Value="高一"></asp:TreeNode>
<asp:TreeNode Text="高二" Value="高二"></asp:TreeNode>
&l