0

TreeViewいくつかのレベルのTreeNodeオブジェクトが取り込まれた ASP.NETがあります。ノードは、IE を除くすべてのブラウザーで適切に展開/折りたたまれます (IE 9 以降を試しました)。

これが私が試したことです:

  • ここで説明されているように、IIS サーバーで IE 10 のサポートを有効にするホットフィックスを既にインストールしています。
  • edgeページヘッダーでUA-X-Compatible を設定する

不思議なことに、私はまだ からポストバック イベントを取得できるTreeViewので、必要に応じてノードを手動で展開/折りたたむことができます。IE 開発者ツール ウィンドウで JavaScript エラーが生成されません。

何か案は?

4

1 に答える 1

0

これを長い間見た後、TreeNodeオブジェクトが問題の根本原因であることがわかりました。Valueのプロパティを使用して、TreeNodeで表されるオブジェクトのシリアル化されたバージョンを格納していましたTreeNode(私が知っている超効率的ではありませんが、効果的です [オブジェクトはとにかく小さい])。

どうやら、Valueプロパティのデータをエンコードして、HTML/Javascript に渡すことができるようにする必要があります。これは、のMSDN ページは記載されていませんTreeNode

解決策:でプロパティを取得/設定する前にHttpUtility.HtmlEncode(string)とを使用してください。これにより、IE を含むすべてのブラウザーで動作するようになります。HttpUtility.HtmlDecode(string)ValueTreeNode

于 2013-09-26T02:16:12.990 に答える