C# 树视图的选中更改事件不起作用
我正在使用C# 树视图的选中更改事件不起作用,c#,asp.net,treeview,C#,Asp.net,Treeview,我正在使用Treeview控件,并使用以下代码 <asp:TreeView ID="tvCategories" ShowCheckBox="False" Style="font-family: Trebuchet MS; margin-top: 5px; margin-bottom: 5px; margin-left: 20px; color: Black; font-size: 12px"
Treeview
控件,并使用以下代码
<asp:TreeView ID="tvCategories" ShowCheckBox="False" Style="font-family: Trebuchet MS;
margin-top: 5px; margin-bottom: 5px; margin-left: 20px; color: Black; font-size: 12px"
runat="server" ShowLines="true" NodeIndent="5" OnTreeNodeCheckChanged="tvCategories_TreeNodeCheckChanged"
OnSelectedNodeChanged="tvCategories_SelectedNodeChanged">
<LeafNodeStyle ForeColor="#555555" />
<ParentNodeStyle ForeColor="Black" />
<RootNodeStyle ForeColor="Black" />
</asp:TreeView>
OnTreeNodeCheckChanged
和OnSelectedNodeChanged
都不工作,AutoPostBack
属性不适用于Treeview
请帮我解决这个问题。
谢谢TreeView没有
自动回发
属性
根据:
当TreeView
控件中的复选框在发送到服务器之间更改状态时,将引发TreeNodeCheckChanged
事件。这允许您提供一种事件处理方法,该方法在发生此事件时执行自定义例程,例如更新数据库或显示的内容
您可以通过添加onclick事件来尝试javascript回发页面
参考:您需要使用javascript进行页面回发,然后可以触发treenodecheckchanged事件 如下图所示,您应该添加粗体代码以进行页面回发:
<script language="javascript" type="text/javascript">
function postBack()
{
var element = window.event.srcElement;
if (element .tagName == "INPUT" && element.type == "checkbox")
{
__doPostBack("","");
}
}
</script>
谢谢@vishal我想在
TreeNodeCheckChanged
上存储会话
还有其他方法吗?@GarimaRawat这是唯一的方法。我已经在上面发布了一个链接,通过该链接,您可以将会话存储在TreeView1_TreeNodeCheckChanged
事件中,一旦回发发生,该事件将被调用。很高兴它有帮助:)@garimarawat很抱歉没有标记为回答您的问题。但我已经为您的问题投票,并感谢您:)很高兴您说抱歉,但这是可以的谢谢@GarimaRawat:)更好的是,您可以使用\uuu doPostBack(“”,”
在UpdatePanel上获得一个不错的部分回发
onclick="javascript:postBack()"