在实际项目中,遇到一个问题,首先弹出一个新窗口,新窗口中放了一个TreeView控件,TreeView控件的数据绑定在我的上一篇随笔(TreeView绑定XML数据源C#代码示例)中有讲到,现在要解决的是,如何单击TreeView中一个节点,返回Text和Value到父页面并关闭该新窗口。

首先,在后台代码中为TreeView添加属性onclick以支持TreeView的客户端事件,代码如下:

if (!IsPostBack)
{
      TreeView1.Attributes.Add("onclick", "ReturnValue()");//ReturnValue为javascript函数
      BindTreeView();
}

那现在就要解决如何通过js获得TreeView中被选中的那个节点,脚本如下:

function ReturnValue() {
      var objNode = event.srcElement;
      var unitid = event.srcElement.href;
      if (objNode.tagName != "SPAN") {
            return;
      }
      window.opener.document.getElementById("txtUnit").value = objNode.getAttribute("innerHtml");
      window.opener.document.getElementById("txtUnitID").value = unitid;
      window.close();
}

其实这里用了点小花招,因为我实在不知道在哪个属性里能获得绑定给TreeView的ValueField的值,所以,Value值我一并绑给了NavigateUrl,也就是写黄色部分代码的原因,Html代码如下:

<asp:TreeView ID="TreeView1" runat="server" ExpandDepth="1">
      <DataBindings>
            <asp:TreeNodeBinding TextField="NAME" ValueField="Value" NavigateUrlField="Value" SelectAction="None" />
      </DataBindings>
</asp:TreeView>

红色部分代码是用来获取TreeView上显示文字的,因为如果你去查看源文件的话,你会发现,TreeView的Text属性值被放在了SPAN中。

绿色部分代码是用来回填父页面的,但是要注意的是,"txtUnit"必须是客户端控件,因为如果是服务器端控件,弹窗在编译时会报不存在该控件。

这样,我需要的功能就实现了!另外,有人可能会说,父页面中用来装载回填值的是客户端控件,那如果要在服务器事件中使用怎么办?也很简单,C#代码如下:

Request.Form["txtUnit"].ToString();

但是要注意了,这里的"txtUnit"可不是控件ID,而是name属性了!

转载于:https://www.cnblogs.com/guoxiaowen/archive/2009/05/12/1454836.html

javascript获取TreeView控件选中节点的Text和Value相关推荐

  1. 使用js如何获取treeview控件的当前选中的节点

    var selectedNodeID = theForm.elements["<%=treeView1.ClientID%>_SelectedNode"].value; ...

  2. asp.net treeview 控件父子节点级联选中

    一.使用方法 <asp:TreeView ID="MenuTree" runat="server" ShowCheckBoxes="All&qu ...

  3. ASP.NET TreeView控件各个节点总是居中对齐,而不是左对齐的问题

    如图所示:之前父节点和子节点都是居中对齐,看起来很层次感,后来查找问题发现原来是CSS样式的问题. table{     table-layout:fixed;     empty-cells:sho ...

  4. WPF 获取DataGrid 控件选中的单元格信息

    获取 DataGrid 选中的单元格的信息 DataGridCellInfo cell_Info = this.studentTable.SelectedCells[0]; studentTableI ...

  5. jquery.datepick获取日期控件选中日期的值

    $("#id").datepick('getDate'); 运用.datepick('getDate')方法即可. 提一下,本人前面中一直用onblur属性(失去焦点触发) 结果每 ...

  6. treeview获取选中 vb_VB中TreeView控件实例(转)

    [摘要:]在实际开发中,许多人不喜欢使用TreeView,主要是由于默认的TreeView是"只读"的,不支持添加.删除.编辑.调整节点位置等操作.本文通过一个TVEdit工程说明 ...

  7. kendo treeview 修改节点显示值_VBA学习笔记60-1: Treeview控件

    学习资源:<Excel VBA从入门到进阶>第60集 by兰色幻想 本节讲Treeview控件. TreeView控件是以树形结构显示数据的控件.利用TreeView控件,可以设计出树形结 ...

  8. matlab treeview,treeview控件

    高分在线等:C#中如何给treeview控件上的节点前添比如有一treeview1控件,需要在其所有节点前均加一静态小图标(所有节点我也新手,正好刚用过这功能.如下: 1. 到工具箱中拖一个image ...

  9. TreeView控件

    尽管一个典型的树结构只有一个根节点,但 TreeView 控件允许您向树结构中添加多个根节点.当您要显示项目列表,但不显示单个主根节点时(例如在产品类别列表中),这一功能很有用. 每个节点都具有一个 ...

  10. C# TreeView 控件的综合使用方法

    1.概述 该篇文章开发使用的语言c#,环境visualstudio2010,sql数据库.主要内容包括: (1).treeView控件添加根节点.子节点的基本方法,节点的删除. (2).把treeVi ...

最新文章

  1. python编写直角三角形边长公式_304不锈钢的重量计算公式,留着总有用处
  2. 库对比工具mysqldiff使用
  3. 【若依(ruoyi)】swagger 接口 @SessionAttribute 修饰的参数
  4. C++学习之路,漫长而遥远
  5. 树莓派UART串口编程--使用wiringPi库-C开发【1-基础应用】
  6. Linux内核 scatterlist介绍
  7. 北师大计算机试题五答案,北京师范大学计算机软件及理论2022考研招生分析、参考书、真题等复习指导解析...
  8. 【网络信息安全】授权与访问控制
  9. Ubuntu安装usb库
  10. centos7.2 kvm 安装超详细
  11. javascript中typeof、undefined 和 null
  12. 学会这几个.你就能成为bat脚本小子了...(转来看看的)
  13. [计算机数值分析]四阶龙格-库塔经典格式解常微分方程的初值问题
  14. 转回来慢慢看.挑着吃.
  15. Android Bitmap 缩放
  16. Linux git环境搭建和常用指令--推送至Github为例
  17. JAVA8 lambda表达式 对List集合去重
  18. GitLab 邮件发送不成功原因
  19. 笔记连载 | Day19【综合实验】之【数字钟】【Intel Cycle IV FPGA平台验证】
  20. (2.6w字)网络知识点灵魂拷问(下)——前端面试必问

热门文章

  1. Android用户界面设计:使用片段
  2. Javascript命名禁区有哪些
  3. 关于调用ArcGIS中GP工具.Erase、SymDiff
  4. IP Helper API 简介
  5. mysql 原来用的引擎_MySQL 的常用引擎
  6. Git从远程主分支切换出一个开发分支
  7. WIN7上安装OFFICE 2019(未成功)
  8. 从概率观点,怎样看新冠病毒的疫情
  9. WINDOWS PHONE死于自己不兼容
  10. UBUNTU设置环境变量MALLOC_CHECK_=1检查内存