0

背景: Steven Sanderson と Adam Freeman による「ASP.Net MVC 3 Framework...」を読んでいます。

あなたが持っているとしましょう

<div id="ajax_update">
  ...
</div>

そして、この部分は Ajax 呼び出しを介して更新する必要があります。ResultView私の質問は、いくつかの XML/JSON データを手動で処理することを考慮せず、出力として依存している場合に、そこに置くことができる制限/要件は何かということです。

私が言及した本には、単一のエントリがあります。

@Html.Action(...);

したがって、Ajax メソッドがトリガーされると、これHtml.Actionが呼び出されて表示するデータが取得されます。しかし、次のように、2 つの部分的なビューからその領域を構築するとしたらどうでしょう。

<div id="ajax_update">
  @Html.Action("List1");
  @Html.Action("List2");
</div>

3 つの部分的なビューからビルドしたい場合、アクションが異なるコントローラーからのものである場合はどうすればよいでしょうか。できる、できない?

あるいは、かなり直接的かもしれません。Ajax が呼び出すアクションと正確に一致する (更新可能な領域内の) 単一のアクションである必要がありますか?

ResultView's繰り返しになりますが、JSON データを手動で処理するのではなく、からのデータを処理するコンテキストで質問しています。


具体的な例を好む人のために - あなたは音楽リストを持っています - それのためのアクション/ビューがあります - そしてタグのリスト (フィルターとして機能します) - それのためのアクション/ビューもあります。タグをクリックするたびに、音楽リストとタグ リストが更新されます。したがって、更新可能な領域には 2 つのビューからのデータが含まれます。

4

1 に答える 1

0

自分の質問に答える...

Ajax 更新可能領域の初期コンテンツは何でも構いません。ここでの Ajax はまったく関係ありません。

Ajax 呼び出しは別の話です。リージョン全体が一掃され、代わりに 1 つのアクション呼び出しの結果が置かれます。いずれにせよ、Ajax 呼び出しの初期コンテンツと結果が関連している必要はありません。たとえば、最初に海の写真とビーチの写真を表示し、各 Ajax 呼び出しで両方の写真の代わりに現在の温度を表示できます(後者のアクション/ビューが温度と写真ではなく温度をレンダリングすると仮定します)。

質問で私が挙げた例 (音楽リストとタグ リストの更新) を維持するには、音楽リストとタグ リストを含むビューを 1 回の Ajax アクション コールで作成する必要があります。

于 2012-11-18T20:14:33.980 に答える