- PR -

TreeView Webコントロールで、PostBack後に選択位置が戻されてしまう。

1
投稿者投稿内容
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2004-12-22 19:33
お世話になっております。

環境:
VB.NET/ASP.NET
.NET Framework1.1

TreeView Webコントロール(Microsoft.Web.UI.Webcontrols)を使用したWebページを作成しております。
しかし、そのページでPostBackを発生させてしまうとTreeViewコントロールのEnableViewState=Trueと設定していても選択位置が一番上に強制的に戻されてしまって困っております。

何か良い方法はありませんでしょうか。
ご存知の方がいらっしゃいましたら何卒ご教授いただきたいです。
よろしくお願いします。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2004-12-23 06:08
引用:

しかし、そのページでPostBackを発生させてしまうとTreeViewコントロールのEnableViewState=Trueと設定していても選択位置が一番上に強制的に戻されてしまって困っております。



以下のようなサンプルを作成しましたが正常に選択位置が保持されています。
http://www.friendlysw.com/samples/articles/deny/030715-1.aspx
サンプルが表示されたら[View Code]をクリックしてソースコードを
確認してください。

Webページがポストバックされたときに、TreeViewを再度バインドしていませんか?
_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2004-12-24 11:45
Accessさん、ご返答ありがとうございます。
サンプル拝見させていただきました。

>Webページがポストバックされたときに、TreeViewを再度バインドしていませんか?

サーバ側の処理としては再バインドなどはしておりません。(念のため、再度ソースを見直してみましたが、TreeViewに対しては何も行っておりませんでした。)

当方のアプリケーションではTreeViewで選択したノードの情報を元に検索を実行して同一ページにある結果表示欄に表示させる様にしているのですが、ご紹介いただいたサンプルではTreeViewのノードクリックでPostBackが発生していますよね?
きっかけが違うことが選択位置が保存されないのとは関係ないとは思うのですが、、、。

同じポストバックの流れの中でTreeViewに対して行っている処理は、複数のTreeViewコントロールを重ねて表示しているために行っているVisibility制御くらいなのですが、それによって選択位置が先頭行に戻されてしまうというのも変な気がするのですが、そういうことはあるのでしょうか??
1

スキルアップ/キャリアアップ(JOB@IT)