sandy945 树的刷新

plglenn20 2010-04-24 12:21:01
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["Expand"] = "0";
BindTree();
TreeNodesExpandStateManager.RestoreExpandStateToTreeFromSession(trvTest);
}
}

private void BindTree()
{
DataTable dataTableParent = GetSourceParent();
DataTable dataTableDetail = GetSourceDetail();
foreach (DataRow dr in dataTableParent.Select("", "ParentId desc"))
{
TreeNode treeNode = new TreeNode(dr["Name"] as string);
trvTest.Nodes.Add(treeNode);
foreach (DataRow _dr in dataTableDetail.Select("parentid=" + (dr["parentid"] as string)))
{
treeNode.ChildNodes.Add(new TreeNode(_dr["Name"] as string));
}
}
}

DataTable GetSourceDetail()
{
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Name");
dt.Columns.Add("ParentId");
DataRow dataRow;
dataRow = dt.NewRow();
dataRow["Id"] = 1;
dataRow["Name"] = "asp";
dataRow["parentid"] = "1";
dt.Rows.Add(dataRow);

dataRow = dt.NewRow();
dataRow["Id"] = 2;
dataRow["Name"] = "js";
dataRow["parentid"] = "1";
dt.Rows.Add(dataRow);

dataRow = dt.NewRow();
dataRow["Id"] = 3;
dataRow["Name"] = "css";
dataRow["parentid"] = "1";
dt.Rows.Add(dataRow);

dataRow = dt.NewRow();
dataRow["Id"] = 4;
dataRow["Name"] = "C#";
dataRow["parentid"] = "2";
dt.Rows.Add(dataRow);

dataRow = dt.NewRow();
dataRow["Id"] = 5;
dataRow["Name"] = "asp.net";
dataRow["parentid"] = "2";
dt.Rows.Add(dataRow);
return dt;
}

DataTable GetSourceParent()
{
DataTable dt = new DataTable();
dt.Columns.Add("ParentId");
dt.Columns.Add("Name");

DataRow dataRow;
dataRow = dt.NewRow();

dataRow["Name"] = "web";
dataRow["parentid"] = "1";
dt.Rows.Add(dataRow);

dataRow = dt.NewRow();

dataRow["Name"] = ".net";
dataRow["parentid"] = "2";
dt.Rows.Add(dataRow);
return dt;
}

protected void btnGo_Click(object sender, EventArgs e)
{
TreeNodesExpandStateManager.SaveExpandStateInSession(trvTest);
Response.Redirect("Default2.aspx");
}

protected void btnToggle_Click(object sender, EventArgs e)
{
if (Expand == "0")
{
trvTest.ExpandAll();
Expand = "1";
}
else
{
trvTest.CollapseAll();
Expand = "0";
}
}

public string Expand
{
get
{
return ViewState["Expand"] as string;
}
set
{
ViewState["Expand"] = value;
}
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="trvTest" runat="server" ImageSet="BulletedList2"
ExpandDepth="0" >
<NodeStyle VerticalPadding="2" Font-Names="Tahoma" Font-Size="8pt" HorizontalPadding="2"
ForeColor="Black"></NodeStyle>
</asp:TreeView>
<asp:Button ID="btnGo" runat="server" Text="Go" OnClick="btnGo_Click" />
<asp:Button ID="btnToggle" runat="server" Text="Expand All" OnClick="btnToggle_Click" />
</div>
</form>
</body>
</html>
...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2010-04-24
  • 打赏
  • 举报
回复
怎么了
plglenn20 2010-04-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 vip__888 的回复:]

what do you want?
[/Quote]
刷新保持状态,
ps 你找到工作没有啊,
vip__888 2010-04-24
  • 打赏
  • 举报
回复
what do you want?
vip__888 2010-04-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 plglenn20 的回复:]
引用 1 楼 vip__888 的回复:

what do you want?

刷新保持状态,
ps 你找到工作没有啊,
[/Quote]
谢谢关心,面试了几家,不怎么理想,昨天去面试一家, 面试我的人 问的问题实在是悲剧。。。我都跟他说过一年工作经验,他问我好多css。。。还有比如 页面传值啊,如何分页啊,还让我把分页语句写出来。 真是杯具。
lester19872007 2010-04-24
  • 打赏
  • 举报
回复
又见一帘幽梦!!
阿非 2010-04-24
  • 打赏
  • 举报
回复
Response.Redirect("Default2.aspx");

ViewState
---------------------------------------

这两个 是问题的原因,你没有理解这两个

一个是页面跳转,一个是页面存储

Redirect 时 IsPostBack 为 false ,也就是 是新开页面

虽然 还是 Default2.aspx ,但 已不是之前的了

ViewState 存储 是在页面 不跳转的情况下存储的

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧