2011-06-21 13 views
0

過去のプロジェクトの多くが「あまりにも多くのアヤックス」に苦しんでいることに気付きました。私はかなりイントラネットの "ビジネス"タイプのアプリを書いているので、古いブラウザ/無効なjavascript/etcへのアクセシビリティは本当に私にとって大きな問題にはなりませんでした。しかし、ブックマークできない/戻る/ランダムエラー/タイムアウトがユーザーに表示されない(私はそこに方法があると知っているが、例のように)...そして開発時間の大半は長い私にとっては大きな問題です。私は唯一の開発者です)。asp mvc適切なアヤックスの使用

- ビジネスアプリ/主にCRUDタイプのサイトでajaxを使用するのが適切なのはいつですか?

これを例として考えてみましょう:私はすべての登録ユーザを表示するグリッドを持っています。いずれかのボタンをクリックすると、すべての情報を編集してグリッドに表示されない詳細情報を表示できる編集/詳細表示に移動します。 「保存」をクリックすると、ajaxリクエストが行われ、エラーが発生したモデルまたは成功したモデルステートがJSONに変換され、「保存」ボタンの上にメッセージに表示されます(結果を解析するjqueryがたくさんあります)。ページをリフレッシュせずにすばらしい。私はこれに似た多くのスクリーンを持っています。 「保存」がクリックされ成功すると(すべてのユーザーを表示するグリッドにリダイレクトするだけです)(ajax/json/etcをすべてスキップして、保存の成功を示す「フラッシュメッセージ」が表示されます)開発者として。私は、エンドユーザにとって最も理にかなっているものをイメージングするのは難しいですが、リダイレクトを行うだけでずっと簡単になり、わかりやすくなります。このようなシナリオでの人々の経験は何ですか?

答えて

1

このシナリオでは、特定の理由がない限り、私はAJAXをすべて一緒に避けます。部分的なページの更新、ページ上のユーザーの場所の維持、またはその他の理由。

MVCは成功/失敗メッセージを含めて、あなたが非常によく説明したシナリオを処理します。この「編集」の失敗のケースでは、障害サーバー側を検出して、モデルの状態情報を持つ同じ編集ビューをユーザーに返します。それらのフィールドはすべて入力されたままになり、検証メッセージを簡単に表示することができます。成功側では、リストまたはインデックスビューを返し、おそらくTempDataを使用して、成功した編集を示すメッセージをユーザーに表示します。 10秒ほど後にメッセージを取り除き、ユーザーエクスペリエンスが非常に良好であることを覚えておくための少しのjavascript。

これは、MVC3ではるかに簡単なクライアント側の検証を追加するとさらに優れています。

この場合、ユーザーにとって非常に直感的なエクスペリエンスを作成し、ajax/jsonを一緒に避けることができると思います。私は両方を行いますが、クライアントサイドのAjaxコードを書く前に正当な理由があることを確認します。

Steve Sanderson MVCの本を見てください。彼は、あなたが良い詳細で説明したのとまったく同じようにこのシナリオを歩みます。彼のMVC3の本はまだ出ていないし、私はMVC2の本を読んでいないが、元のMVCの本はそれを持っています。

http://www.amazon.com/ASP-NET-Framework-Experts-Voice-NET/dp/1430228865/ref=sr_1_4?ie=UTF8&qid=1308745293&sr=8-4

私もPluralSightオンライントレーニングのように私はこのような基本的なフレームワークの指導を探しています。 http://www.pluralsight-training.net/microsoft/

もちろん、無料のブログがたくさんありますが、MVCもそうではありません。楽しむ。

+0

+1 - 通常の操作を行うには、GETリクエストとPOSTリクエストを使用してください。 – Fenton

+0

こんにちは - 入力していただきありがとうございます。あなたが説明した方法は、実際に私が取ることを決めたルートです。私は両方の方法とポスト/リダイレクトを試みた "フラッシュメッセージ"は、それをajaxingよりも多くのクリーナーを流れます。私が思ったのは、他の人の経験によると、この場合「ajax」が「エンドユーザー」に利益をもたらすということです。私はあなたが再び提案した本を一瞥します(私はmvc2とmvc3のアルファを持っています)。 – maciek

1

ほとんどの場合、主なビジネスエンティティ(Employeee、Distributorなど)で発生する多くのデータをユーザーから取らなければならない場合、私はフォームを改善するのではなく通常のフォーム投稿のルートを取るのが普通です。ほとんどの場合、投稿するデータが小さく、保存した後に同じページにデータを表示する必要がある場合、私はajaxを使用します。たとえば、Employeesビューページでは、従業員の経験を追加するための小さなフォームを作成し、ajaxで保存して、入力したデータを同じページに追加することができます。
たとえば、Stackoverflowの例を考えてみましょう。彼らは回答と質問を保存するために通常のフォーム投稿を使用しますが、データ量が少なくコメントを同じページに追加する必要があるコメントについては、そのようなシナリオではajaxを使用するのが理にかなっています。
について

+0

感謝します。私は以前の "更新パネルの中毒者"であることを認めますが、それ以来、どこでもAJAXを投げることは、少なくとも私のシナリオではうまくいきません。 – maciek