2009-04-15 10 views
1

私のシナリオはここにあります。私はツリービューが表示されたページを持っています。ユーザーはノードを追加したり削除したりすることができます。ユーザーがノードをクリックすると、ポップアップがフォームで表示され、ユーザーがデータを入力し、このデータがデータベースに保存され、ポップアップスクリプトが戻ってきます(データベースからの)idと一緒に。このIDは親ページに渡される必要があり、ツリーはCLIENTで更新する必要があります。クライアントのツリーを操作する - 助言してください

ユーザーがツリーの変更を完了すると、保存ボタンがクリックされ、ツリーがデータベースに保存されます。

私はasp.net webforms、c#を使用しています。

これらの目標を達成するにはどうすればよいですか?私はそれを見て、ツリーの変更がクライアント側で行われるので、私はajaxを使う必要はありません。 このトリックは、ポップアップがサーバーから親ページに送られるIDを返します。 お知らせください。 say-jQueryのTreeViewコントロールまたは単純なツリープラグインを使用する必要がありますか? (親ページをサーバーに送信し、ツリー内のデータをデータベースに保存する必要があることに注意してください)。

私が見る方法では、私の唯一の選択肢はJqueryツリーです。しかし、私たちはそれを送信時にaspxのページにアクセスできますか?助けて!

答えて

0

子ウィンドウ内のデータベースにデータを保存している場合、閉じたときに親ウィンドウでポストバックを行うだけで、ツリーがデータベースから強制的にリロードされ、新しく挿入されたデータが表示されます。

+0

私はそれを望んでいません、私の質問をお読みください。ポップアップによって保存されるデータは、ツリーから独立している必要があります。親ページの「保存」ボタンを押すまで、ツリー自体をデータベースに保存しないでください。 – sarsnake

+0

私のシナリオでは、ノードは独立した構造体なので、ユーザーが新しいノードを追加すると、IDはツリーに戻され、ノードはデータベースに保存されます。ユーザーがツリーを保存するときだけ、ツリーのノードの関係が保存されます。これが意味をなされることを望む。 – sarsnake

+0

ポップアップが送信されると、そのID(データベースからの一意のノードID)を返し、ツリーをJavascriptで更新する必要があります。 – sarsnake

0

私はなぜAjaxがあなたを助けてくれないのか分かりませんが、その場合はjQueryを使用して、必要なコントロールの内部HTMLを取得してからforeachを実行してTreeノードを取得し、いくつかのWebサービスメソッドを使用してそれらをDBに提出すれば、あなたが望むものを達成することができます。

もう一度AJAXを使ってみると、はるかに簡単で何かを失うことはないと思います。

サンプルを提供していないことを申し訳ありません。

希望します。

+0

は基本的にAJAXを記述したものではありませんか? "ツリーのノードを取得し、コレクションに保存してからいくつかのWebサービスメソッドを使用してDBに送信するforeachを実行します" – sarsnake

+0

DBに保存する場合は、 – sarsnake

+0

のように見えますサーバー側のコーディングである を実行する必要があります。そのため、jqueryをWebサービスで使用するか(本当に高速です)、通常の関数を作成してボタンなどにフックし、そのボタンを更新パネルに配置します。 ポップアップに太いボックスを使用し、jqueryを使用してツリーの内部htmlを取得することもできます(これはサーバー側ではなくクライアント側です)。 私はもっと役に立つと思っていますが、それはすべて私が知っていることです。 – DevMania

関連する問題