当我选择我的asp.net树视图复选框节点时,它会自动回发,导致网页跳转到页面顶部。如何防止这种情况发生?我遇到了这个,但它在vb.net。Vb.net equivalent。我正在使用c#。
c#代码
void TreeViewAddItems_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
........
}
答案 0 :(得分:1)
这是因为您的代码在服务器上运行,因此当用户单击展开按钮时,它会发出服务器请求,然后重新呈现该页面。重新呈现页面会导致滚动重置为顶部。我怀疑你想在每次用户扩展节点时发出整页请求。您可能最好使用客户端脚本从服务器请求数据并将其动态地放入树中。
答案 1 :(得分:1)
如果你想在你提到的帖子中尝试VB.net方法,只需以同样的方式使用ScriptManager
:
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType, "selectNode", ("var elem = document.getElementById(\'"
+ (tree.ClientID + "_SelectedNode\');var node = document.getElementById(elem.value);node.scrollIntoView(true);elem.scrollL" +
"eft=0;")), true);