热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Treeview动态添加用户控件取值和传值

今天做了很好玩的树,是treeview与用户控件之间进行交互先看效果:主要功能:勾选子节点的checkbox,右边会动态加载该节点的信息,

今天做了很好玩的树,是treeview与用户控件之间进行交互先看效果:

主要功能:勾选子节点的checkbox,右边会动态加载该节点的信息,出现TextBox让用户填写节点的值,点击保存按钮将文本框的值保存到对应的节点。

里面涉及到了asp执行ascx页面里的事件,并取值。

这是前台的代码:CustomXMLmanager2.aspx

View Code

1 <%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeBehind&#61;"CustomXMLmanager2.aspx.cs" Inherits&#61;"usexml.CustomXMLmanager2" %>
2
3 <%&#64; Register src&#61;"Custom2.ascx" tagname&#61;"Custom2" tagprefix&#61;"uc1" %>
4
5 "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
7 "http://www.w3.org/1999/xhtml">
8 "server">
9
10
11
12
13
30 "form1" runat&#61;"server">
31


32 "ScriptManager1" runat&#61;"server">
33

34 "UpdatePanel1" runat&#61;"server">
35
36 "100%" style&#61;"border: 2px dotted #008080">
64
65
81
82
"30%">
37
38
39 "TreeView1" runat&#61;"server" ImageSet&#61;"Simple" ShowCheckBoxes&#61;"Leaf"
40 ShowLines&#61;"True"
41 ViewStateMode&#61;"Enabled">
42 "True" ForeColor&#61;"#5555DD" />
43
44 "个人信息" Value&#61;"海洋信息数据集">
45 "名字" Value&#61;"数据名称">
46 "性别" Value&#61;"数据格式">
47 "年龄" Value&#61;"数据摘要">
48 "帅不帅" Value&#61;"帅不帅">
49 "漂不漂亮" Value&#61;"漂不漂亮">
50

51

52 "Tahoma" Font-Size&#61;"10pt" ForeColor&#61;"Black"
53 HorizontalPadding&#61;"0px" NodeSpacing&#61;"0px" VerticalPadding&#61;"0px" />
54 "False" />
55 "True" ForeColor&#61;"#5555DD"
56 HorizontalPadding&#61;"0px" VerticalPadding&#61;"0px" />
57

58
59
60
61
62
63
"background-color: #008080; width: 2px">
66
67
68
69
70
71
72
73 "PlaceHolder1" runat&#61;"server">
74
75
76
77
78
79
80

83

84
85

86

87

88
89

90
"center">"Button1" runat&#61;"server" Text&#61;"保存"
91 οnclick&#61;"Button1_Click" />

92
93
94

这是后台代码:CustomXMLmanager2.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.Reflection;
8
9 namespace usexml
10 {
11 public partial class CustomXMLmanager2 : System.Web.UI.Page
12 {
13 protected void Page_Load(object sender, EventArgs e)
14 {
15
16 if (IsPostBack)
17 {
18
19
20 //if (ViewState["node"] !&#61; null)
21 //{
22 // nodes1();
23
24 //}
25
26 nodes1();
27
28
29 }
30
31
32
33
34
35
36
37 TreeView1.Attributes.Add("onclick", "postBackByObject()");
38
39 }
40
41
42 private void nodes1()
43 {
44 int tg &#61; 0;
45 foreach (TreeNode nod in TreeView1.CheckedNodes)
46 {
47
48 nod.Target &#61; tg.ToString();
49 Custom2 uc &#61; (Custom2)LoadControl("Custom2.ascx");
50 uc.Nodname &#61; nod.Text;
51 uc.Nodvalue &#61; nod.Value;
52
53 uc.Nodetag &#61; nod.Target;
54
55 PlaceHolder1.Controls.Add(uc);
56
57 tg&#43;&#43;;
58
59 }
60
61
62 }
63
64
65 protected void Button1_Click(object sender, EventArgs e)
66 {
67 for (int i &#61; 0; i 68 {
69 UserControl uc2 &#61; (UserControl)PlaceHolder1.Controls[i];
70
71 Type ucType &#61; uc2.GetType();
72
73 //用MethodInfo类来获取用户控件中的方法&#xff0e;
74
75 MethodInfo UcMethod &#61; ucType.GetMethod("GetText");// Button1_Click控件中的方法。
76
77 //在此处页面的方法中执行用户控件中的方法&#xff0e;
78
79 object[] argumentArrray &#61; new object[0];
80
81 UcMethod.Invoke(uc2, new object[0]);//调用用户控件中的方法。此处执行了&#xff01;&#xff01;。
82
83 foreach (TreeNode nod in TreeView1.CheckedNodes)
84 {
85
86
87 PropertyInfo UctextName &#61; ucType.GetProperty("PicName");
88 PropertyInfo tag &#61; ucType.GetProperty("Nodetag");
89 if (nod.Target &#61;&#61; tag.GetValue(uc2, null).ToString())
90 {
91
92 nod.Value &#61; UctextName.GetValue(uc2, null).ToString();//获取了上传的文件名信息。并显示在 page 页面上。
93
94 }
95
96
97 }
98
99
100 }
101
102 }
103
104 }
105 }

这是用户控件的前台:Custom2.ascx

View Code

1 <%&#64; Control Language&#61;"C#" AutoEventWireup&#61;"true" CodeBehind&#61;"Custom2.ascx.cs" Inherits&#61;"usexml.Custom2" %>
2


3 "Label1" runat&#61;"server" Text&#61;"Label" ForeColor&#61;"#006666">
4 "TextBox1" runat&#61;"server">
5 当前节点的值:"Label2" runat&#61;"server" Text&#61;"Label" ForeColor&#61;"#003366">
6
7

这是用户控件的后台:Custom2.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
8 namespace usexml
9 {
10 public partial class Custom2 : System.Web.UI.UserControl
11 {
12
13
14 private string nodname &#61; "";
15 public string nodvalue &#61; "";
16 private string nodtag &#61; "";
17 private string picname &#61; "";
18 public string Nodname
19 {
20
21
22 get
23 {
24
25 return nodname;
26
27 }
28
29 set
30 {
31
32
33 nodname &#61; value;
34
35 }
36
37
38 }
39
40 public string Nodvalue
41 {
42
43
44 get
45 {
46
47 return nodvalue;
48
49 }
50
51 set
52 {
53
54
55 nodvalue &#61; value;
56
57 }
58
59
60 }
61
62 public string Nodetag
63 {
64
65
66 get
67 {
68
69 return nodtag;
70
71 }
72
73 set
74 {
75
76
77 nodtag &#61; value;
78
79 }
80
81
82 }
83
84 public string PicName
85 {
86
87 get { return picname; }
88
89 set { picname &#61; value; }
90
91 }
92
93 protected void Page_Load(object sender, EventArgs e)
94 {
95 Label1.Text &#61; nodname&#43;"&#xff1a;";
96
97 Label2.Text &#61; nodvalue;
98
99
100 }
101
102 public void GetText()
103 {
104
105
106 picname &#61; TextBox1.Text;
107 TextBox1.Text &#61; "";
108 Label2.Text &#61; picname;
109
110
111
112 }
113
114
115 }
116 }

主要功能已实现&#xff0c;下一步我要将其结合到XML去&#xff0c;实现对XML文档的自定义扩展。



转:https://www.cnblogs.com/panan/archive/2011/12/28/2304854.html



推荐阅读
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
author-avatar
Sunny-虫虫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有