1

MVC 3 ASP.NET アプリケーションを開発しているので、アプリケーションのパフォーマンスを改善する方法について提案が必要です。controller から、文字列型の 50,000 レコードを取得しています。すべての項目、つまり 50,000 は、Jquery を使用して動的に HTML Div に追加されます。

   $(div).append("<input type='radio' name='reportType' 
   id='" + item.Item1 + "' value = '" + item.Item2 + "'/>" + item.Item1 ");

上記のラジオボタンを親コントロール、つまりHTMLに追加する際にかなりの時間がかかることがわかりますDIV

親 HTMLDIVには がありCheck box、それをチェックすると、すべての子ボックスを選択する必要があります。すべての項目をチェックするのにかなりの時間がかかるようです

これらの項目はすべて Scroll Viewer にあります. ユーザー エクスペリエンスを向上させる方法はありますか? スクロール ベースでデータをロードするなど, HTML 5でのSilverlightのデータ仮想化のようなもの.

すべてのアイテムをチェックしてページの別の部分にドラッグすると、ブラウザが非応答モードになります。クエリのパフォーマンスを向上させて、これらの多くのレコードの最高のユーザーエクスペリエンスを提供してくれる人はいますか

4

3 に答える 3

1
  1. 追加する HTML 文字列を作成します。
  2. ビルドが完了したら、一度追加します。

これは、各文字列を追加するよりも高速です。

var htmlToAppend = "";
for (var i in items) {
     var item = items[i];
     htmlToAppend = "<input type='radio' name='reportType' id='" + item.Item1 + "' value = '" + item.Item2 + "'/>" + item.Item1;
}

$(div).append(htmlToAppend);

また、もっと良い方法があると思います!

于 2013-05-08T19:12:31.640 に答える
0

基本的に、大きなデータセットを表示するには、これを試してください:

1)ブラウザのメモリに保存し、sessionStorage()またはlocalStorage()を使用します

2) DOM を最小化し、すべてのデータを DOM に書き込まず、要素を動的に追加および削除します。

3) データセットを検索可能にします。これは、データセットをトリミングするフィルター関数を意味します。

これを解決するもう 1 つの推奨される方法はMegalistを使用し、jQuery を必要とし、タブレットまたはモバイルで適切に機能することです。

于 2013-05-08T23:20:02.447 に答える