Treeview动态添加用户控件 取值和传值(第二种样式)
功能效果图:
功能实现:勾选节点复选框,右边动态加载用户控件,点击赋值按钮,将文本值赋值给节点
前台代码CustomXMLManager.aspx
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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动态添加用户控件 取值和传值(第二种样式)相关推荐
- jquery-文档操作-标签取值-输入控件取值与赋值
html 文本 值 获取标签包裹的内容 dom的属性 jquery的方法 演练 小结 dom对象,jquery对象,取值方式的对等 对象 纯文本 html文本 dom innerText innerH ...
- ASP.NET Web页面(.aspx)添加用户控件(.ascx)无显示的问题
写好的用户控件点击视图显示没有问题,但是将控件添加到Web窗体上时却显示如下图标: F5运行,查看源代码:有代码--但是页面却显示一片空白. 分析代码,比较了一下能显示用户控件的其他web页面以及代码 ...
- 2.easyui 控件取值方式
2019独角兽企业重金招聘Python工程师标准>>> 说起这个easyui,放进去简单,但是要怎么 联动呢,对于哥这种没有经验,没有nz,没有勤劳的三无..哈哈,研究了好久. 先说 ...
- android 动态添加删除控件,求教Android,动态添加到控件能动态删除吗?
protected View createView() {//动态添加组件 Button btn = new Button(this);//动态创建按钮 btn.setId(index++); btn ...
- mvc动态添加html控件,jquery – MVC3 Html.DisplayFor – 可以让这个控件生成一个ID吗?...
我想要显示一些文本,但也可以通过jQuery修改文本. model.DeviceComponentName)%> 如果我使用EditorFor而不是DisplayFor,我会看到输入控件的ID. ...
- 移除动态view android,请教Android,动态添加到控件能动态删除吗?
可以的.有2中方式: 1.动态添加的时候为组件设置id,删除的时候根据id查找到对应组件,然后删除 2.根据父节点,获取所有父组件下的子组件,然后依次删除. 示例: protected View cr ...
- AngularJS实现动态添加输入控件功能
功能要求如下: 1. 点击加号可以增加输入框. 2. 点击减号可以减少输入框. 3. 当输入框只有一个的时候,不能再减少输入框. 效果图如下: 只有一个输入框 有多个输入框 要实现这 ...
- js动态创建html控件,通过JS动态添加html控件后,添加样式以及OnClick
/** * 新增标签 * @param count */ function addLabel(count){ var image_id_obj = document.getElementById(&q ...
- jQuery操作select控件取值和设值
1.级联select的操作,后一个select的值随着前一个select选中值变化 $(".select_A").change(function(){$(".select ...
- 论在Xamarin里对AbsoluteLayout动态添加按钮控件实例(1)
RT 这个问题困扰了我一个多小时.添加很简单,但怎么在绝对布局里添加到不同的位置讷? 最后还是翻文档的时候翻到了,可以在Layout.Children.Add时,设置第二参如new Point(x,y ...
最新文章
- 【C++】 保存内容到文件工具
- 【分享】Java的几个重要词语
- 干掉Random:这个类已经成为获取随机数的王者
- 北京科技大学天津学院第三届智能车校内赛总决赛完美落幕
- Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)...
- mysql某个表的列除以2_mysql常见面试题(二)
- 关于Cocos2d-x属性和引用
- tensorflow玻尔兹曼机_资源 | 10种深度学习算法的TensorFlow实现
- C# switch语句中,可以放哪些类型
- 马斯克惹麻烦?特斯拉股票一夜暴跌12%,千亿市值蒸发
- while 循环判断时 遇到赋值表达式
- echarts grid的样式位置_CSS Grid 系列(下)-使用Grid布局构建网站首页
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_13_自定义异常类...
- Centos7配置 SNMP服务(防火墙配置注意)
- ANSYS CFD网格划分笔记1
- 腾讯加入QQ群,代码生成地址
- Latex 文本居中
- Hoo Smart Chain 万物生长计划火热报名中,可视化公链迸发勃勃生机
- matlab神经网络 股票预测模型,如何用MATLAB的BP神经网络做股票预测
- foo:function(){}与function foo(){}还有foo=function()三者间的区别
热门文章
- 什么是pytorch(3神经网络)(翻译)
- Servlet+Ajax实现搜索智能提示
- 进阶之路(基础篇) - 009 通过底层AVR方法实现SPI数据传输
- String类的两种赋值
- Oracle PL/SQL 程序设计读书笔记 - 第13章 其他数据类型
- 又一种页面之间传值方式
- 来尝个鲜,Python3.8几大新功能体验,冲鸭!
- 做了那么多营销,为什么没有效果?
- http://nuyd.eastmoney.com/EM_UBG_PositionChangesInterface/api/js?rows=64page=9
- [nowcoder]最长区间