功能效果图:

功能实现:勾选节点复选框,右边动态加载用户控件,点击赋值按钮,将文本值赋值给节点

前台代码CustomXMLManager.aspx

View Code

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomXMLManager.aspx.cs" Inherits="usexml.CustomXMLManager" %> 2  3  4  5  6  7 <%@ Register src="Custom1.ascx" tagname="Custom1" tagprefix="uc1" %> 8  9 10 11 12 13 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">14 15 <html xmlns="http://www.w3.org/1999/xhtml">16 <head runat="server">17     <title></title>18 </head>19 <body>20 <script language="javascript" type="text/javascript">21 22     // 点击复选框时触发事件23 24     function postBackByObject() {25 26         var o = window.event.srcElement;27 28         if (o.tagName == "INPUT" && o.type == "checkbox") {29 30             __doPostBack("", "");31 32         }33 34     }35 36 </script>37 38     <form id="form1" runat="server">39     <div>40       <asp:ScriptManager ID="ScriptManager1" runat="server">41         </asp:ScriptManager>42  <asp:UpdatePanel ID="UpdatePanel1" runat="server">43         <ContentTemplate>44     <table width="100%" style="border: 3px dotted #008080"><tr><td width="50%">45            46       47     <asp:TreeView ID="TreeView1" runat="server" ImageSet="Simple" ShowCheckBoxes="Leaf" 48             ShowLines="True" ontreenodecheckchanged="TreeView1_TreeNodeCheckChanged" 49             onselectednodechanged="TreeView1_SelectedNodeChanged" 50             ViewStateMode="Enabled">51         <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />52         <Nodes>53             <asp:TreeNode Text="用户信息" Value="海洋信息数据集">54                 <asp:TreeNode Text="姓名" Value="数据名称" Target="1"></asp:TreeNode>55                 <asp:TreeNode Text="性别" Value="数据格式" Target="2"></asp:TreeNode>56                 <asp:TreeNode Text="帅不帅" Value="数据摘要" Target="3"></asp:TreeNode>57             </asp:TreeNode>58         </Nodes>59         <NodeStyle Font-Names="Tahoma" Font-Size="10pt" ForeColor="Black" 60             HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" />61         <ParentNodeStyle Font-Bold="False" />62         <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" 63             HorizontalPadding="0px" VerticalPadding="0px" />64     </asp:TreeView>65     66 67     68     69     70     </td>71     <td>72     73        74 75             76      77         <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>78             79         80     81         82             83         84     85     </td>86     87     </tr></table>88        <div>89       90     </div>91         </ContentTemplate>92         </asp:UpdatePanel>93   94     </div>95 96     </form>97    98 </body>99 </html>

后台代码CustomXMLManager.aspx.cs

View Code

  1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Web;  5 using System.Web.UI;  6 using System.Web.UI.WebControls;  7 using System.Web.UI.WebControls.WebParts;  8 using System.Web.UI.HtmlControls;  9  10 namespace usexml 11 { 12     public partial class CustomXMLManager : System.Web.UI.Page 13     { 14          15         protected void Page_Load(object sender, EventArgs e) 16         { 17  18             if (IsPostBack) 19             { 20  21  22                 //if (ViewState["node"] != null) 23 //{ 24 //    nodes1(); 25  26 //} 27  28                 nodes1(); 29  30             } 31             32                      TreeView1.Attributes.Add("onclick", "postBackByObject()"); 33  34  35                      36              37             38         } 39  40         public void SetLabel(string str,string str2) 41         { 42            43             foreach (TreeNode nod in TreeView1.CheckedNodes) 44             { 45                 if (nod.Target == str2) 46  47                 { 48  49                     nod.Value = str; 50                  51                 } 52              53              54             } 55  56         } 57  58         protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) 59         { 60  61  62  63  64              65                66                  67              68        69                 70              71         } 72          73         private void nodes1() 74         { 75              76             foreach (TreeNode nod in TreeView1.CheckedNodes) 77             { 78                  79                 Custom1 uc = (Custom1)LoadControl("Custom1.ascx"); 80                 uc.Nodname = nod.Text; 81                 uc.Nodvalue = nod.Value; 82                 uc.Nodetag = nod.Target; 83                 PlaceHolder1.Controls.Add(uc); 84                 85  86  87             } 88          89          90         } 91  92         protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) 93         { 94  95             96  97         } 98  99   100 101         102         103 104     }105 }

用户控件前台代码Custom1.ascx

View Code

 1 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Custom1.ascx.cs" Inherits="usexml.Custom1" %> 2 <br /> 3 <asp:Label ID="Label1" runat="server" ForeColor="#006666"  4     Text="Label"></asp:Label> 5 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 6  7 <asp:Button ID="Button1" runat="server" οnclick="Button1_Click" Text="赋值" /> 8  9 10 <asp:Label ID="Label2" runat="server" Text="Label" Visible="False"></asp:Label>11 当前节点的值为:<asp:Label ID="Label3" runat="server" Text="Label" ForeColor="#003366"></asp:Label>

用户控件后台代码Custom1.ascx.cs

View Code

  1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Web;  5 using System.Web.UI;  6 using System.Web.UI.WebControls;  7 using System.Reflection;  8   9 namespace usexml 10 { 11     public partial class Custom1 : System.Web.UI.UserControl 12     { 13  14         private string nodname=""; 15         public string nodvalue=""; 16         private string nodtag = ""; 17         public string Nodname 18         { 19  20  21             get 22             { 23  24                 return nodname;  25              26             } 27  28             set 29             { 30  31  32                 nodname = value; 33              34             } 35          36          37         } 38  39         public string Nodvalue 40         { 41  42  43             get 44             { 45  46                 return nodvalue; 47  48             } 49  50             set 51             { 52  53  54                 nodvalue = value; 55  56             } 57  58  59         } 60  61         public string Nodetag 62         { 63  64  65             get 66             { 67  68                 return nodtag; 69  70             } 71  72             set 73             { 74  75  76                 nodtag = value; 77  78             } 79  80  81         } 82         protected void Page_Load(object sender, EventArgs e) 83         { 84  85             Label1.Text = nodname; 86             Label3.Text = nodvalue; 87             Label2.Text = nodtag; 88              89            90         } 91         92         protected void Button1_Click(object sender, EventArgs e) 93         { 94  95  96             System.Web.UI.Page p = this.Page; 97             Type pageType = p.GetType(); 98             MethodInfo mi = pageType.GetMethod("SetLabel"); 99             mi.Invoke(p, new object[] { TextBox1.Text, Label2.Text } );100 101             Label3.Text = TextBox1.Text;102             TextBox1.Text = "";103 104         }105 106      107 108 109     }110 }

哇擦!!!好累哦!!!

转载于:https://www.cnblogs.com/panan/archive/2011/12/28/2304869.html

Treeview动态添加用户控件 取值和传值(第二种样式)相关推荐

  1. jquery-文档操作-标签取值-输入控件取值与赋值

    html 文本 值 获取标签包裹的内容 dom的属性 jquery的方法 演练 小结 dom对象,jquery对象,取值方式的对等 对象 纯文本 html文本 dom innerText innerH ...

  2. ASP.NET Web页面(.aspx)添加用户控件(.ascx)无显示的问题

    写好的用户控件点击视图显示没有问题,但是将控件添加到Web窗体上时却显示如下图标: F5运行,查看源代码:有代码--但是页面却显示一片空白. 分析代码,比较了一下能显示用户控件的其他web页面以及代码 ...

  3. 2.easyui 控件取值方式

    2019独角兽企业重金招聘Python工程师标准>>> 说起这个easyui,放进去简单,但是要怎么 联动呢,对于哥这种没有经验,没有nz,没有勤劳的三无..哈哈,研究了好久. 先说 ...

  4. android 动态添加删除控件,求教Android,动态添加到控件能动态删除吗?

    protected View createView() {//动态添加组件 Button btn = new Button(this);//动态创建按钮 btn.setId(index++); btn ...

  5. mvc动态添加html控件,jquery – MVC3 Html.DisplayFor – 可以让这个控件生成一个ID吗?...

    我想要显示一些文本,但也可以通过jQuery修改文本. model.DeviceComponentName)%> 如果我使用EditorFor而不是DisplayFor,我会看到输入控件的ID. ...

  6. 移除动态view android,请教Android,动态添加到控件能动态删除吗?

    可以的.有2中方式: 1.动态添加的时候为组件设置id,删除的时候根据id查找到对应组件,然后删除 2.根据父节点,获取所有父组件下的子组件,然后依次删除. 示例: protected View cr ...

  7. AngularJS实现动态添加输入控件功能

    功能要求如下: 1.    点击加号可以增加输入框. 2.    点击减号可以减少输入框. 3.    当输入框只有一个的时候,不能再减少输入框. 效果图如下: 只有一个输入框 有多个输入框 要实现这 ...

  8. js动态创建html控件,通过JS动态添加html控件后,添加样式以及OnClick

    /** * 新增标签 * @param count */ function addLabel(count){ var image_id_obj = document.getElementById(&q ...

  9. jQuery操作select控件取值和设值

    1.级联select的操作,后一个select的值随着前一个select选中值变化 $(".select_A").change(function(){$(".select ...

  10. 论在Xamarin里对AbsoluteLayout动态添加按钮控件实例(1)

    RT 这个问题困扰了我一个多小时.添加很简单,但怎么在绝对布局里添加到不同的位置讷? 最后还是翻文档的时候翻到了,可以在Layout.Children.Add时,设置第二参如new Point(x,y ...

最新文章

  1. 【C++】 保存内容到文件工具
  2. 【分享】Java的几个重要词语
  3. 干掉Random:这个类已经成为获取随机数的王者
  4. 北京科技大学天津学院第三届智能车校内赛总决赛完美落幕
  5. Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)...
  6. mysql某个表的列除以2_mysql常见面试题(二)
  7. 关于Cocos2d-x属性和引用
  8. tensorflow玻尔兹曼机_资源 | 10种深度学习算法的TensorFlow实现
  9. C# switch语句中,可以放哪些类型
  10. 马斯克惹麻烦?特斯拉股票一夜暴跌12%,千亿市值蒸发
  11. while 循环判断时 遇到赋值表达式
  12. echarts grid的样式位置_CSS Grid 系列(下)-使用Grid布局构建网站首页
  13. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_13_自定义异常类...
  14. Centos7配置 SNMP服务(防火墙配置注意)
  15. ANSYS CFD网格划分笔记1
  16. 腾讯加入QQ群,代码生成地址
  17. Latex 文本居中
  18. Hoo Smart Chain 万物生长计划火热报名中,可视化公链迸发勃勃生机
  19. matlab神经网络 股票预测模型,如何用MATLAB的BP神经网络做股票预测
  20. foo:function(){}与function foo(){}还有foo=function()三者间的区别

热门文章

  1. 什么是pytorch(3神经网络)(翻译)
  2. Servlet+Ajax实现搜索智能提示
  3. 进阶之路(基础篇) - 009 通过底层AVR方法实现SPI数据传输
  4. String类的两种赋值
  5. Oracle PL/SQL 程序设计读书笔记 - 第13章 其他数据类型
  6. 又一种页面之间传值方式
  7. 来尝个鲜,Python3.8几大新功能体验,冲鸭!
  8. 做了那么多营销,为什么没有效果?
  9. http://nuyd.eastmoney.com/EM_UBG_PositionChangesInterface/api/js?rows=64page=9
  10. [nowcoder]最长区间