Telerik コントロールのような ASP コントロールでは、参照されるサーバー側と、クライアントに送信されるマークアップがあります。私はそれで何か新しいことをしようとしていました。
MODAL の json オブジェクトを返す ajax 呼び出しがあります。このモーダルには TreeView が含まれます。私が調べていたのは、これを行うと、実際には参照するバックエンドがないということです。これは、基本的にサーバーに一度だけ使用する出力をpingしているためです。
私はそれを変えようとしています。私の目標は、テレビを構築するために ajax ping を実行し、その後の各ノード展開で、クリックされたノードのすべての子を返すことです。簡単に聞こえますよね?まあ、私がやっている方法からではありません。
私の ajax リクエストは、jQuery で HTML に解析されてからモーダルに挿入される文字列を返すだけでした。私は次のようなさまざまなことを試していました:
StringWriter writer = new StringWriter();
HtmlTextWriter tOut = new HtmlTextWriter(writer);
ddFieldFilter.RenderControl(tOut);
tvFields = new RadTreeView();
tvFields.NodeExpand += new RadTreeViewEventHandler(tvFields_NodeExpand);
tvFields.NodeClick += new RadTreeViewEventHandler(tvFields_NodeClick);
startTree();
tvFields.RenderControl(tOut);
ret += writer.ToString();
これは私が望んでいたようには機能せず、クラッシュします。TreeView で toString を実行して、マークアップを文字列に入れることはできません。
補足: ツリーを保存する必要はありませんが、ツリーを取得してサーバーに送り返して更新し、それを返すことができれば、それも機能します。
ツリーが印刷された後、各リーフで TreeViewNodes の ajax リクエストを実行するか、または同様のことを行うと考えていました。
考え?アイデア?私が見ていたことと私の思考プロセスから、DIV を Web サーバーの更新対象にすることはできません。それはフレームのようなもので、私ができることです....フレームをdivに入れますが、フレームなしですべて見栄えを良くしようとしています。