Web下TreeView同一节点连续点击,只执行一次SelectedNodeChanged的解决
Web下TreeView同一节点连续点击,只执行一次SelectedNodeChanged的解决
在SelectedNodeChanged事件里,对选中的节点马上将其Selected属性置为false
二、具体例子如下:
我的Web应用的名字为MingXu.WebSite,我在根目录下见了一个目录Controls,用来放WebUserControl,我的例子就是一个WebUserControl。
WebUserControl代码如下:
1、前台页面内容:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ucTreeList.ascx.cs" Inherits="MingXu.WebSite.Controls.ucTreeList" %>
<asp:TreeView ID="tvTest" runat="server"
onselectednodechanged="tvTest_SelectedNodeChanged">
</asp:TreeView>
<p>
显示选中节点的Text:<asp:TextBox ID="txtSelectedNodeText" runat="server"></asp:TextBox>
节点单击计数器:<asp:TextBox ID="txtCount" runat="server"></asp:TextBox>
</p>
2、后台文件:
//******************************************************
//文件名:ucTreeList.ascx
//功能:Web下TreeView同一节点连续点击,只执行一次SelectedNodeChanged的解决
//作者:徐明
//日期:2009-11-4
//*******************************************************
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace MingXu.WebSite.Controls
{
public partial class ucTreeList : System.Web.UI.UserControl
{
private static int _count = 0;
/// <summary>
/// 功能:构造一个树
/// 作者:Jerry
/// 日期:2009-11-4
/// </summary>
private void LoadTree()
{
tvTest.Nodes.Clear();
TreeNode rootNode = null;
TreeNode pNode1 = null;
TreeNode pNode2 = null;
rootNode = new TreeNode("Root");
pNode1 = new TreeNode("pNode1");
pNode1.ChildNodes.Add(new TreeNode("Node1"));
pNode1.ChildNodes.Add(new TreeNode("Node2"));
pNode2 = new TreeNode("pNode2");
pNode2.ChildNodes.Add(new TreeNode("Node3"));
pNode2.ChildNodes.Add(new TreeNode("Node4"));
rootNode.ChildNodes.Add(pNode1);
rootNode.ChildNodes.Add(pNode2);
tvTest.Nodes.Add(rootNode);
}
/// <summary>
/// 功能:加载树
/// 作者:Jerry
/// 日期:2009-11-4
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
LoadTree();
}
/// <summary>
/// 功能:树节点SelectedNodeChanged事件
/// 作者:Jerry
/// 日期:2009-11-4
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvTest_SelectedNodeChanged(object sender, EventArgs e)
{
txtSelectedNodeText.Text = tvTest.SelectedNode.Text;
txtCount.Text = _count++.ToString();
//置选中节点的Selected属性为false
tvTest.SelectedNode.Selected = false;
}
}
}
3、资源文件:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3603
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace MingXu.WebSite.Controls {
public partial class ucTreeList {
/// <summary>
/// tvTest control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TreeView tvTest;
/// <summary>
/// txtSelectedNodeText control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtSelectedNodeText;
/// <summary>
/// txtCount control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtCount;
}
}
4、新建一个WebForm,把这个用户控件拖进去,然后,把这个页设为默认页,启动运行就能看到结果,结果页面如下:
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/net_boy/archive/2009/11/05/4772227.aspx
Web下TreeView同一节点连续点击,只执行一次SelectedNodeChanged的解决的更多相关文章
- 小技巧--让JS代码只执行一次
有时候实在是没办法,就像我这个比赛系统中,有一个弹出框,这个弹出框之外都是模糊的(这是在ajax写出弹出框时,加了一个水印). 然而遇到的问题,也是蹊跷古怪,因为这个弹出框的事件是数据查询事件,但是因 ...
- js函数只执行一次,函数重写,变量控制与闭包三种做法
一.情景需求 调用后台接口需要附带token信息,那么在每个请求的头部添加token的做法就不太优雅了:一个网站请求100次,那就得写添加100次token,假设某天接口有所变动,改起来就十分麻烦了. ...
- selenium+python+unittest:一个类中只执行一次setUpClass和tearDownClass里面的内容(可解决重复打开浏览器和关闭浏览器,或重复登录等问题)
unittest框架是python自带的,所以直接import unittest即可,定义测试类时,父类是unittest.TestCase. 可实现执行测试前置条件.测试后置条件,对比预期结果和实际 ...
- java for循环里面执行sql语句操作,有效结果只有一次,只执行了一次sql mybatis 循环执行update生效一次 实际只执行一次
java后台controller中,for循环执行数据库操作,但是发现实际仅仅执行了一次,或者说提交成功了一次,并没有实际的个数循环 有可能是同一个对象导致的 可以仔细看一下下面两段代码有什么区别 p ...
- system.web下的HttpModules节点和system.webServer下的modules节点的配置区别
[转]自定义HttpModule的一些经验--配置篇 自定义web模块,需继承System.Web.IHttpModule接口 一:拦截对该服务器所有的http请求. 第一步:将自定义module类使 ...
- IE下单选按钮隐藏后点击对应label无法选中的bug解决
项目中,有时候填写表单我们的选项会隐藏掉radio或者checkbox,而只显示给用户对应的文字选择,如果用户点击label选择时,在FF/Chrome等标准浏览器中隐藏掉的radio/checkbo ...
- 让一个继承unittest.TestCase的类下的setUp和tearDown只执行一次
知道unittest单元测试框架的朋友应该都知道, 执行继承了unittest.TestCase的类下每个test开头的方法(就是用例)时,都会执行setUp和tearDown,如下面的例子所示: i ...
- html中连续点击某个标签会出现蓝色的解决方法
给标签加上下面的属性就可以了,也可以把这些属性建立一个class名,谁需要的时候加上也ok -moz-user-select: none; /*mozilar*/ -webkit-user-selec ...
- java中的static代码块为什么只执行一次
原因在最后,这是其中的一个小例子. 如: SessionFactory负责保存和使用所有配置信息,消耗内存资源非常大 所以一个web项目要保证只创建一个SessionFactory 那么在使用hibe ...
随机推荐
- 用C/C++扩展你的PHP
PHP取得成功的一个主要原因之一是她拥有大量的可用扩展.web开发者无论有何种需求,这种需求最有可能在PHP发行包里找到.PHP发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩 ...
- Oracle树查询,start with connect by prior 递归查询用法(转载)
本人觉得这个写的真不错,实用性强,就转载过来了 这个子句主要是用于B树结构类型的数据递归查询,给出B树结构类型中的任意一个结点,遍历其最终父结点或者子结点. 先看原始数据: 1 create tabl ...
- 关于PHP的一个坑爹问题(页面刷新)
最近在用PHP做一个服务端和一个客户端,在快要完工的时候,出现了一个重大问题---- 当在客户端手动输入IP和端口的时候,一按连接,OK,连接成功,嘻嘻,就在我自以为大功告成的时候,来了个晴天霹雳,一 ...
- c++ 装饰模式(decorate)
装饰模式:动态地给一个对象添加一些额外的职责.就增加功能来说,装饰模式相比生成子类 更为灵活.有时我们希望给某个对象而不是整个类添加一些功能.比如有一个手机,允许你为手机添加特性,比如增加挂件.屏幕贴 ...
- c语言实践 数字特征值
这题的要求是这样的: 这题我没做出来,我大概思路是这样的,根据输入的数字,把这个数字的每一位都分离出来,然后判断奇数还是偶数,再判断序是奇数还是偶数,最后两个奇偶性比较,输出1还是0,这个输出的1和0 ...
- 数字图像处理实验(11):PROJECT 05-02,Noise Reduction Using a Median Filter 标签: 图像处理MATLAB 2017-05-26 23:
实验要求: Objective: To understand the non-linearity of median filtering and its noise suppressing abili ...
- 35.MID() 函数
MID() 函数 MID() 函数 MID 函数用于从文本字段中提取字符. SQL MID() 语法 SELECT MID(column_name,start[,length]) FROM table ...
- codefirst 关系处理
1.http://www.cnblogs.com/libingql/archive/2013/01/31/2888201.html 2.多对多 protected override void OnMo ...
- httpd和apache的区别
今天要配置集成服务器环境 apache + tomcat + php + jsp + mysql + sqlserver 去下载apache 发现有: apache_2.2.14-win32-x86 ...
- App测试从入门到精通之功能测试
App的功能测试指的是针对软件需求以及用户要求针对APP功能进行测试.简单点理解就是保证App功能的正确性,不要系统出现Bug.让用户用户的舒服,用的爽!好了,我们看下关于App的功能测试要点有哪些? ...