我按以下方法做,点击treeview屏幕不会闪烁,但onSelectedIndexChange事件却无效,该怎么办?
可以将autopostback设置成false;
在body里添加 <body onload="initTree()">
然后在PageLoad里写:
Dim strTreeName As String = "Treeview1"
Dim strRef As String = Page.GetPostBackEventReference(Treeview1)
Dim strScript As String = "<script language=JavaScript> " & vbCrLf _
& "<!-- " & vbCrLf _
& " function initTree() { " & vbCrLf _
& " " & strTreeName & ".onSelectedIndexChange = function() { " & vbCrLf _
& " if (event.oldTreeNodeIndex != event.newTreeNodeIndex) " & vbCrLf _
& " this.queueEvent(onselectedindexchange, event.oldTreeNodeIndex + , + event.newTreeNodeIndex); " & vbCrLf _
& " window.setTimeout(" & strRef.Replace("", "\") & ", 0, JavaScript); " & vbCrLf _
& " } " & vbCrLf _
& " } " & vbCrLf _
& "// --> " & vbCrLf _
& "</script>"
Page.RegisterClientScriptBlock("InitTree", strScript)
这样就只有你点击的节点更改的时候才提交!
this article Ill demonstrate how to make a helper function that takes DataReader object as a parameter and returns a fully populated DataTable object with all the data from the DataReader in it.
我知道,第二种方法就是我写的
不知道你那儿为什么会出问题
你新建一个页面测试一下