6

RenderAction()関数の機能に満足しています。ただし、部分的にレンダリングされたアクションでのデータのロードと保存を調整して、すべてが1ページで行われるようにしたいと思います。

次の場合を想像してみてください。記事のコンテンツの下に「コメントを追加」リンクがある記事の詳細ビューがあります。クリックすると、投稿の内容の下にコメントフォームが表示されます。ユーザーはコメントボックスに入力し、ビュー全体を更新せずに、部分的にレンダリングされたアクションだけでデータを送信できる必要があります。また、ビューは、同じセッションに追加されるいくつかのコメントを提供する必要があります(RenderAction()へのいくつかのAJAX呼び出し)。

それを達成するための最良の方法はどれですか?

4

1 に答える 1

13

アクション:

[HttpGet]
public ActionResult AddComment()
{
    return PartialView(); // presumes partial view is called "AddComment" and needs no model
                          // you know what to do otherwise.
}

意見:

<input type="button" value="Add Comment" onclick="addComment()" />

JavaScript:

function addComment() {
    $("#comments").append("<div></div>").load("/ControllerName/AddComment");
}

それが基本です。これは好きなだけ複雑にすることができます。

于 2010-03-03T20:20:21.577 に答える