2013-01-13 45 views
0

当我选择我的asp.net树视图复选框节点它自动回发导致网页跳转到页面的顶部。如何防止这种情况发生?我遇到了这个,但它在vb.net。 Vb.net equivalent。我正在使用c#。treeview项目选择跳转到页面顶部

C#代码

 void TreeViewAddItems_TreeNodeExpanded(object sender, TreeNodeEventArgs e) 
     { 
      ........ 
     } 

回答

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);