当我选择我的 asp.net 树视图复选框节点时,它会自动回发,导致网页跳转到页面顶部。如何防止这种情况发生?我遇到了这个,但它在 vb.net 中。Vb.net 等价物。我正在使用 c#。
c# 代码
void TreeViewAddItems_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
........
}
当我选择我的 asp.net 树视图复选框节点时,它会自动回发,导致网页跳转到页面顶部。如何防止这种情况发生?我遇到了这个,但它在 vb.net 中。Vb.net 等价物。我正在使用 c#。
c# 代码
void TreeViewAddItems_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
........
}
如果您想尝试您提到的帖子中的 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);
这是因为您的代码在服务器上运行,所以当用户单击展开按钮时,它正在发出服务器请求,然后重新呈现页面。页面的重新呈现会导致滚动重置到顶部。我怀疑您是否希望每次用户展开节点时都发出整页请求。您最好使用客户端脚本从服务器请求数据并将其动态放入树中。