我正在使用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
。
请帮我解决这个问题。 谢谢
答案 0 :(得分:4)
TreeView没有AutoPostBack
属性。
根据MSDN:
当TreeNodeCheckChanged
控件中的复选框在发布到服务器的帖子之间发生更改时,会引发TreeView
事件。这允许您提供事件处理方法,以便在发生此事件时执行自定义例程,例如更新数据库或显示的内容。
您可以尝试使用javascript通过添加onclick事件来回发页面。
答案 1 :(得分:4)
您需要使用javascript来进行页面回发,然后才能触发treenodecheckchanged事件。
如下所示,您应该添加更大胆的代码以使页面回发:
<script language="javascript" type="text/javascript">
function postBack()
{
var element = window.event.srcElement;
if (element .tagName == "INPUT" && element.type == "checkbox")
{
__doPostBack("","");
}
}
</script>
在页面的head部分添加上述javascript代码。
onclick="javascript:postBack()"