控件(三)——TreeView控件以XmlDataSource控件为数据源实现简单的绑定
TreeView控件功能非常强大,今天,我们只是窥其一角。
我们实现的例子是:TreeView控件与XmlDataSource控件绑定,然后在网页显示选中项。
首先我们添加一个xml,取名为tv.xml。在其中写上如下代码:
<?xml version="1.0" encoding="utf-8"?> <gen1 text="总目录"> <zil text="第一个子目录" url="~/one/a.aspx"> <sun1 text="叶目录A页" url="~/one/cone/a.aspx"> <ye text="B页" url="~/one/cone/b.aspx"></ye> </sun1> </zil> <zi2 text="二的一个目录" url="~/two/a.aspx"> <sun2 text="二个也目录A页" url="~/two/a.aspx"></sun2> <sun3 text="B页" url="~/two/b.aspx"></sun3> </zi2> </gen1>
这时我们在default.aspx页面中添加一个TreeView控件,我们可以选定它的样式(大方美观即可),之后配置它的数据源。如下图:
这是,界面自然后这样显示:
我们添加后台代码:
protected void Button1_Click(object sender, EventArgs e) {//将选中项的值打印出来 if (TreeView1.CheckedNodes.Count>0) {//如果有项被选中 foreach (TreeNode tn in TreeView1.CheckedNodes ) {//迭代所有被选中的节点 if (tn.ChildNodes.Count > 0) {//如果被选中项下面还有子节点 foreach (TreeNode ctn in tn.ChildNodes) {//迭代所有节点,把值读出来 Response.Write(ctn.Text + "<br>"); } } else {//如果下面没有节点了,说明是页节点,直接读出选项的值 Response.Write(tn.Text +"<br>"); } } } } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { Label1.Text = TreeView1.SelectedNode.Text; } protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) { Label1.Text = "你折叠了" + e.Node.Text; } protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e) { Label1.Text = "你展开了" + e.Node.Text; } protected void TreeView1_TreeNodeCollapsed(object sender, TreeNodeEventArgs e) { }
显示效果:
分类:
【控件】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构