0

asp.netツリービューチェックボックスノードを選択すると、自動ポストバックが発生し、Webページがページの上部にジャンプします。これを防ぐにはどうすればよいですか? 私はこれに出くわしましたが、vb.netにあります。Vb.net に相当します。私は c# を使用しています。

c#コード

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

2 に答える 2

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);
于 2013-01-13T19:48:04.537 に答える
1

これは、コードがサーバーで実行されているためです。ユーザーが展開ボタンをクリックすると、サーバー リクエストが作成され、ページが再レンダリングされます。ページを再レンダリングすると、スクロールが一番上にリセットされます。ユーザーがノードを展開するたびにフルページリクエストを行いたいとは思いません。クライアント側のスクリプトを使用してサーバーからデータを要求し、それを動的にツリーに配置する方がよい場合があります。

于 2013-01-13T19:41:02.953 に答える