如何响应TreeView中的OnTreeNodeCheckChanged事件
展开全部
ASP.net的TreeView控件,设置ShowCheckBox="All",可以显示每个节点的复选框。如果想在选中☑子节点后,立即自动选中☑其父节点及其所有祖先节点,仅通过TreeNodeCheckChanged事件,是无法响应相关代码的。
原因是,TreeNodeCheckChanged事件:当 TreeView 控件的复选框在向服务器的两次发送过程之间状态有所更改时发生。TreeNodeCheckChanged是服务器端事件。 在单击复选框后,并没有向服务器传递复选框被改变的信息。如果再点击子节点文本,响应选中节点被改变事件SelectedNodeChanged后,会同时响应TreeNodeCheckChanged事件。
无效方法:AutoPostBack设为true。【这个对GridView中的复选框有效。】EnableClientScript设为true。直接添加onclick='ClickTree()'。网上的正确答案不好找。
有效方法:
aspx.cs中:
protected void Page_Load(object sender, EventArgs e)
{
TreeView1.Attributes.Add("onclick", "postBackByObject()");
}
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
//string str=e.Node.ValuePath;
//其他处理代码
}
aspx中:
<head runat="server">
<script type="text/javascript">
function postBackByObject()
{
__doPostBack("","");
}
</script>
</head>
原因是,TreeNodeCheckChanged事件:当 TreeView 控件的复选框在向服务器的两次发送过程之间状态有所更改时发生。TreeNodeCheckChanged是服务器端事件。 在单击复选框后,并没有向服务器传递复选框被改变的信息。如果再点击子节点文本,响应选中节点被改变事件SelectedNodeChanged后,会同时响应TreeNodeCheckChanged事件。
无效方法:AutoPostBack设为true。【这个对GridView中的复选框有效。】EnableClientScript设为true。直接添加onclick='ClickTree()'。网上的正确答案不好找。
有效方法:
aspx.cs中:
protected void Page_Load(object sender, EventArgs e)
{
TreeView1.Attributes.Add("onclick", "postBackByObject()");
}
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
//string str=e.Node.ValuePath;
//其他处理代码
}
aspx中:
<head runat="server">
<script type="text/javascript">
function postBackByObject()
{
__doPostBack("","");
}
</script>
</head>
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询