2009-04-01 17 views
0

ビジネスクラスとやりとりしているASP.NETページがあります。ユーザーが入力した値に基づいてページのコントロールを継続的に更新したい合計を更新します。計算はビジネスロジックに組み込まれていますが、他の場所でも再現できるほどシンプルです。私はこれを達成する3つの方法を考えました:AJAXを使用してASP.NETページを継続的に更新します。

  1. 動的にJavaScriptを使用してページを更新します。ページの値がビジネスクラスで計算された値と一致しない浮動小数点数の問題(これらのプロパティは小数です)が発生するリスクを回避したいので、これをしたくありません。
  2. 変更時に計算フィールドをクリアして、ユーザーに再計算ボタンを強制的にクリックさせます。これはユーザーエクスペリエンスが悪く、JavaScriptをASP.NETコントロールに接続するのが面倒です。
  3. AJAX UpdatePanelを使用し、データ入力コントロールを自動ポストバックに設定し、コントロールの「変更済み」イベントを処理します。 TextBoxのTextChangedです。

3番目の方法は私にとっては最もクリーンで使いやすいユーザーエクスペリエンスを提供し、セッション状態で保存したビジネスクラスと直接対話できます。

私の質問です:これは良いアイデアですか、あるいは一般的なプラクティスですか?これを達成するより良い方法はありますか?

私は数年間ASP.NETの仕事をしておらず、私はautopostback [1]に対する偏見があります。私はリクエストのサイズを見てきましたが、現在は1.5kBで無視できます。サイトの使用率は低くなりますが、ダイヤルアップ接続のユーザー数は少なくなる可能性があります。

  1. 一般的にはASP.NETですが時間は厳しいです。

答えて

0

3番目のオプションが最善であると考えても間違いありません。これは、AJAXのために作られたものです。頑張れ。

5

個人的には、私はUpdatePanelが重すぎます。 JSONを出力するASP.NET Webサービス関数とともにjQueryを使用できます。

+0

ストレートashx w/jayrock、jsonresultとwcfサービスを持つasp.net mvcはすべてこの行で適切なオプションです。 – Tracker1

+0

これは良い回答ですが、私はこのプロジェクトにいくつかの新技術を学ぶ時間がありません。 –