6

我对 RenderAction() 函数的作用感到满意。但是,我想在部分呈现的操作中对数据的加载和存储进行 ajaxify,以便一切都发生在一个页面中。

想象以下情况:我有一个文章详细信息视图,其中文章内容下方有一个“添加评论”链接。单击它时,评论表单将出现在帖子内容的下方。用户应该能够填写评论框,并在不刷新整个视图的情况下发送数据,而只是部分呈现的动作。此外,视图必须提供要在同一会话中添加的多个注释(对 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 回答