结合数据库获得父节点和子节点信息数值:

.aspx代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TreeView控件.aspx.cs" Inherits="TreeView控件" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
    .fl{ float:left;}
    .fr{ float:right;}
    .clr{ clear:both;}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <div id="div_treeview" class="fl">
    <%=DateTime.Now.ToLongTimeString() %>
    
        <asp:TreeView ID="TreeView1" runat="server" ExpandDepth="0" 
            onselectednodechanged="TreeView1_SelectednodeChanged">
        </asp:TreeView>
    </div>
    <div id="others" class="fr">
    <%--为了不使整个页面刷新,引入ajax局部刷新,提高显示速度。以下是标准程序:
    <asp:ScriptManager ID="ScriptManager2" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel2" runat="server">
        <ContentTemplate>
       此处填入内容
         </ContentTemplate>
         <Triggers>
        <asp:AsyncPostBackTrigger ControlID="TreeView1" />
        </Triggers>
            </asp:UpdatePanel>--%>
             <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
        <%=DateTime.Now.ToLongTimeString() %>
        TEXT:<asp:Label ID="lbl_TEXT" runat="server" Text="Label"></asp:Label>
    VALUE:<asp:Label ID="lbl_VALUE" runat="server" Text="Label"></asp:Label>
    VALUEPATH:<asp:Label ID="lbl_VALUEPATH" runat="server" Text="Label"></asp:Label>
        </ContentTemplate>
        <Triggers>
        <asp:AsyncPostBackTrigger ControlID="TreeView1" />
        </Triggers>
        </asp:UpdatePanel>
    
        </div>
    <div class="clr">
    
    </div>
        
    </div>
    </form>
</body>
</html>


.aspx.cs代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.sqlClient;

public partial class TreeView控件 : System.Web.UI.Page
{
    string con = "server=localhost\\sql2005 ;uid=sa;pwd=1111qq;database=DBPromary";
    sqlConnection conn;
    sqlCommand cmd;
    sqlDataReader datar;
    string str_sql;

    protected void Page_Load(object sender,EventArgs e)
    {
        if (!IsPostBack) {
            maketree();
        }

    }
    protected void maketree() {
        //省
        TreeNode _tNode,_ParentNode;
        conn = new sqlConnection(con);
        conn.open();

        str_sql="select * from promary";
        cmd = new sqlCommand(str_sql,conn);
        datar = cmd.ExecuteReader();
        while (datar.Read()){
        _tNode=new TreeNode();//实例化结点
            _tNode.Text=datar["proName"].ToString();
            _tNode.Value="p_"+datar["proID"].ToString();

            TreeView1.Nodes.Add(_tNode);//结点加到TreeView上

        }
        conn.Close();
        //city
        conn = new sqlConnection(con);
        conn.open();

        str_sql = "select * from city";
        cmd = new sqlCommand(str_sql,conn);
        datar = cmd.ExecuteReader();
        while (datar.Read())
        {
            _ParentNode = TreeView1.FindNode("p_"+datar["proID"].ToString());//寻找父节点
            _tNode=new TreeNode();//实例化子节点
            _tNode.Text=datar["cityName"].ToString();//子节点的显示
            _tNode.Value="c_"+datar["cityID"].ToString();//子节点的数值

            _ParentNode.ChildNodes.Add(_tNode);//将子节点加到找到的父节点上

        }

        conn.Close();
    }


    protected void TreeView1_SelectednodeChanged(object sender,EventArgs e)
    {
        TreeNode _tnode = TreeView1.Selectednode;//Selectednode方法找到选中的结点
        lbl_TEXT.Text = _tnode.Text;
        lbl_VALUE.Text = _tnode.Value;
        lbl_VALUEPATH.Text = _tnode.ValuePath;
    }
}

效果如下图:


引入Ajax之后只会刷新部分页面,通过时间条的刷新可以看出。这样会提高页面刷新效率。

treeView控件实例--Ajax局部刷新的更多相关文章

  1. AJAX初级聊天室代码

    DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">ChatingBeta_0.3.23

  2. php和asp语法上的区别总结

    在本篇文章中小编给大家分享了关于php和asp语法上的区别以及相关代码知识点,需要的朋友们学习下。

  3. asp+ajax实现静态页面分页的代码

    最近因工作需要,要在静态页面上实现分页,想了下,决定用AJAX来实现,所以就捣鼓了下面这么个东西,截图如下:打包文件下载

  4. jQuery treeview树形结构应用

    这篇文章主要为大家详细介绍了jQuery treeview树形结构应用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. ajax的 responseXML返回接受 asp

    第一个文件index.aspvarxmlHttp=false;//ajax使用try{xmlHttp=newActiveXObject;}catch{try{xmlHttp=newActiveXObject;}catch{xmlHttp=false;}}if(!

  6. ASP+AJAX+ACCESS数据库实例讲解三个步骤分享

    其实说起AJAX的初级应用是非常简单的,通俗的说就是客户端(javascript)与服务端(asp或php等)脚本语言的数据交互

  7. Ajax 和 Asp 的编程

    ajax.htmlt.asp

  8. JQuery的ajax的用法在asp中使用$.ajax()实现

    ajax的出现解决了很多的疑难问题,同时带来了很多的方便,本文讲述一下JQuery的ajax的用法在asp中使用$.ajax()来表示,感兴趣的朋友可以了解下,或许本文对你有所帮助

  9. ASP AJAX 静态分页第1/2页

    这个页面注意是调用来自数据库中的数据。

  10. Android TreeView实现带复选框树形组织结构

    这篇文章主要为大家详细介绍了Android TreeView实现带复选框树形组织结构,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

随机推荐

  1. xe-ajax-mock 前端虚拟服务

    最新版本见Github,点击查看历史版本基于XEAjax扩展的Mock虚拟服务插件;对于前后端分离的开发模式,ajax+mock使前端不再依赖后端接口开发效率更高。CDN使用script方式安装,XEAjaxMock会定义为全局变量生产环境请使用xe-ajax-mock.min.js,更小的压缩版本,可以带来更快的速度体验。

  2. vue 使用 xe-ajax

    安装完成后自动挂载在vue实例this.$ajaxCDN安装使用script方式安装,VXEAjax会定义为全局变量生产环境请使用vxe-ajax.min.js,更小的压缩版本,可以带来更快的速度体验。cdnjs获取最新版本点击浏览已发布的所有npm包源码unpkg获取最新版本点击浏览已发布的所有npm包源码AMD安装require.js安装示例ES6Module安装通过Vue.use()来全局安装示例./Home.vue

  3. AJAX POST数据中文乱码解决

    前端使用encodeURI进行编码后台java.net.URLDecoder进行解码编解码工具

  4. Koa2框架利用CORS完成跨域ajax请求

    实现跨域ajax请求的方式有很多,其中一个是利用CORS,而这个方法关键是在服务器端进行配置。本文仅对能够完成正常跨域ajax响应的,最基本的配置进行说明。这样OPTIONS请求就能够通过了。至此为止,相当于仅仅完成了预检,还没发送真正的请求呢。

  5. form提交时,ajax上传文件并更新到&lt;input&gt;中的value字段

  6. ajax的cache作用

    filePath="+escape;},error:{alert;}});解决方案:1.加cache:false2.url加随机数正常代码:网上高人解读:cache的作用就是第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取。

  7. 浅谈ajax上传文件属性contentType = false

    默认值为contentType="application/x-www-form-urlencoded".在默认情况下,内容编码类型满足大多数情况。在这里,我们主要谈谈contentType=false.在使用ajax上传文件时:在其中先封装了一个formData对象,然后使用post方法将文件传给服务器。说到这,我们发现在JQueryajax()方法中我们使contentType=false,这不是冲突了吗?这就是因为当我们在form标签中设置了enctype=“multipart/form-data”,

  8. 909422229_ajaxFileUpload上传文件

    ajaxFileUpload.js很多同名的,因为做出来一个很容易。我上github搜AjaxFileUpload出来很多类似js。ajaxFileUpload是一个异步上传文件的jQuery插件传一个不知道什么版本的上来,以后不用到处找了。语法:$.ajaxFileUploadoptions参数说明:1、url上传处理程序地址。2,fileElementId需要上传的文件域的ID,即的ID。3,secureuri是否启用安全提交,默认为false。4,dataType服务器返回的数据类型。6,error

  9. AJAX-Cache:一款好用的Ajax缓存插件

    原文链接AJAX-Cache是什么Ajax是前端开发必不可少的数据获取手段,在频繁的异步请求业务中,我们往往需要利用“缓存”提升界面响应速度,减少网络资源占用。AJAX-Cache是一款jQuery缓存插件,可以为$.ajax()方法扩展缓存功能。

  10. jsf – Ajax update/render在已渲染属性的组件上不起作用

    我试图ajax更新一个有条件渲染的组件。我可以确保#{user}实际上是可用的。这是怎么引起的,我该如何解决呢?必须始终在ajax可以重新呈现之前呈现组件。Ajax正在使用JavaScriptdocument.getElementById()来查找需要更新的组件。但是如果JSF没有将组件放在第一位,那么JavaScript找不到要更新的内容。解决方案是简单地引用总是渲染的父组件。

返回
顶部