`
wostyh
  • 浏览: 77188 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何让TreeView的TreeNodeCheckChanged事件自动回发到服务器端

阅读更多

      ASP.NET 2.0使用TreeView控件时发现带有CheckBox控件的TreeNode对象(TreeView节点),选择CheckBox无法回发页面。在MSDN中对于TreeView.TreeNodeCheckChanged事件有一段备注:“当 TreeView 控件的复选框在两次向服务器发送之间更改状态时,会引发 TreeNodeCheckChanged 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时执行一个自定义例程(如更新数据库或显示的内容)。尽管 TreeNodeCheckChanged 事件在回发时激发,但更改复选框不会导致回发。”说明框架本身并不能提供一个CheckBox回发的机制.

尽管点击CheckBox不会引起回发, 但是页面回发以后, TreeNodeCheckChanged事件的处理代码就会被调用, 也就是将如果在客户端捕获checkbox的点击事件, 然后使用javascript来手工回发(dopostback), 这样就能做到checkbox的自动回发了.

但是在构建树的时候, 是没有办法在treenode上定义事件, 所以我们把这个事件加在treeview上.

demo如下:

TreeView1.Attributes.Add("onclick", "postBackObject()")

 

客户端脚步代码

<script type="text/javascript">
    function goPostBack()
    {   
         var o = window.event.srcElement;
         if (o.tagName == "INPUT" && o.type == "checkbox") 
         {
             __doPostBack("","");
          }
     }
</script> 

 

使用了ajax,这样使用则可以局部刷新

__doPostBack("ctl00_ContentPlaceHolder2_TreeView2_SkipLink","");

分享到:
评论

相关推荐

    C# ASP.NET TreeView click 事件

    这个事件会在用户单击一个节点时触发,允许我们执行相应的操作,如加载数据、导航到新页面或执行服务器端逻辑。 在`Default.aspx`文件中,你需要声明`TreeView`控件并为其设置ID,例如`&lt;asp:TreeView ID="TreeView1...

    Sliverlight中动态生成TreeView产生事件

    // 添加到TreeView treeView.Items.Add(treeViewItem); } ``` 2. **生成控件事件** 要为TreeView节点绑定事件,我们需要为每个生成的TreeViewItem设置它的`Tap`或`MouseLeftButtonDown`事件,这两个事件在用户...

    bootstrap TreeView全选单选,定位选触发事件实例

    在“bootstrap TreeView全选单选,定位选触发事件实例”中,我们将深入探讨如何实现这个组件的多种选择功能,包括单选、全选以及通过父节点控制子节点的选择,并讨论当选择状态改变时如何触发相关事件。 1. **全选...

    qt中的treeView的右击事件和双击事件

    首先,让我们了解`QTreeView`的基本用法。`QTreeView`是`QAbstractItemView`的子类,它提供了视图模型/视图架构,允许灵活的数据展示。你需要先创建一个`QStandardItemModel`或自定义的`QAbstractItemModel`来存储和...

    treeview的点击事件

    这两个事件可以让我们实现不同的功能,比如显示选定节点的详细信息、执行相关操作或者更新其他界面元素。 1. **NodeMouseClick事件**:这个事件允许我们处理用户的鼠标点击行为。通常,我们可以通过检查`EventArgs`...

    asp.net的Treeview的Checkbox选中父节点,选中全部子节点并且展开

    具体来说,我们可以监听 TreeView 控件的 `TreeNodeCheckChanged` 事件,以及通过自定义的 JavaScript 函数来触发服务器端的处理逻辑。 #### 三、技术细节 ##### 3.1 客户端 JavaScript 代码 首先,我们需要编写...

    WPF TreeView1 双击新增节点 到TreeView2中,右键菜单删除TreeView2子节点

    在这个项目中,我们需要实现两个功能:当用户在`TreeView1`中双击一个节点时,该节点将被添加到`TreeView2`;同时,用户可以通过右键点击`TreeView2`中的子节点并选择“删除”来移除该节点。 首先,我们需要创建`...

    Web控件TreeView展开无闪烁的一个解决方法

    - 为了响应客户端触发的事件,需要在代码背后重写服务器端事件处理程序。 - 这里主要关注的是`TreeView_SelectedIndexChange`事件,它会在选择节点发生变化时触发。 #### 实现细节 **第一步:调整`TreeView`控件...

    VirtualTreeview AutoLoad 自动装载 数据库.rar

    1. **事件驱动**:VirtualTreeview组件会触发一系列事件,比如OnGetNodeData、OnLoadNode等,开发者需要在这些事件中编写代码来获取和填充节点数据。 2. **缓存策略**:为了优化性能,可以考虑在内存中缓存已加载但...

    自动生成TreeView案例

    【标题】:自动生成TreeView案例 在编程领域,TreeView控件是Windows应用程序中常见的界面元素,常用于展示层次结构的数据,如文件系统、组织结构或系统配置等。本案例是利用Visual Studio 2010版本创建的一个源...

    ASP.NET treeView异步加载节点

    8. **返回XML/Json数据**:在服务器端获取到子节点数据后,可以使用`XmlDocument`或`JavaScriptSerializer`类来创建XML或Json字符串,然后将其作为Response输出。 9. **解析返回的数据**:在客户端的Ajax回调函数中...

    c# treeview 添加节点后面button触发事件

    c# treeview 添加节点后面button触发事件

    c# treeview 的check用法

    在.NET Framework中,C#语言提供了丰富的控件库,其中包括TreeView控件,它常用于构建层级结构的数据展示,如文件系统、组织结构等。在处理`TreeView`时,`Checkboxes`功能允许用户通过交互式勾选来选择或取消选择...

    Silverlight 带连线TreeView,自动数据组装

    数据模型的变化会自动反映到TreeView中,无需手动创建或更新节点。 **3. MVVM模式** MVVM是一种软件架构模式,用于分离用户界面(View)、业务逻辑(ViewModel)和数据模型(Model)。在TreeView的例子中,View是...

    asp.net treeview选中父节点自动选中子节点

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要讲述的是如何在ASP.NET TreeView控件中实现一种功能:即当用户选中一个父节点时,该父节点下的所有子节点也会被自动选中;反之,如果用户取消选中...

    treeview 局部刷新问题

    这可能是因为数据源发生了变化,比如服务器端有新的数据需要同步到客户端,或者用户在界面上进行了某种操作,如添加、删除或修改了某个节点。在这种情况下,我们需要避免重新渲染整个treeview,因为这会消耗不必要的...

    asp.net 中用 Ajax实现 treeview

    2. **事件处理**:为TreeView的`SelectedNodeChanged`事件添加服务器端处理程序。在该事件中,你可以根据选中的节点执行相应的操作,如加载子节点数据或执行其他业务逻辑。 ```csharp protected void TreeView1_...

    C#TreeView将左侧数据添加到右侧树视图

    这个过程涉及到多个关键知识点,包括`TreeView`控件的基本操作、事件处理、数据绑定以及用户交互。 首先,`TreeView`控件的基本操作涉及创建节点、添加子节点、删除节点等。在C#中,可以使用`TreeNode`类来创建节点...

    WPF TreeView拖拽实例

    在`Drop`事件处理程序中,你需要读取被拖放的数据,然后更新数据结构,将拖放的节点移动到新位置。 ```csharp private void treeView_Drop(object sender, DragEventArgs e) { TreeNodeViewModel draggedNode = e....

    C# winfrom TreeView简单数据添加,单击操作

    首先,让我们了解如何添加数据到TreeView。在C#中,我们通常使用`TreeNode`类来创建和管理节点。下面的步骤展示了添加根节点和子节点的基本过程: 1. 创建一个`TreeView`实例,并将其添加到窗体中。 2. 使用`...

Global site tag (gtag.js) - Google Analytics