我对 RenderAction() 函数的作用感到满意。但是,我想在部分呈现的操作中对数据的加载和存储进行 ajaxify,以便一切都发生在一个页面中。
想象以下情况:我有一个文章详细信息视图,其中文章内容下方有一个“添加评论”链接。单击它时,评论表单将出现在帖子内容的下方。用户应该能够填写评论框,并在不刷新整个视图的情况下发送数据,而只是部分呈现的动作。此外,视图必须提供要在同一会话中添加的多个注释(对 RenderAction() 的多个 AJAX 调用);
实现这一目标的最佳方法是什么?
我对 RenderAction() 函数的作用感到满意。但是,我想在部分呈现的操作中对数据的加载和存储进行 ajaxify,以便一切都发生在一个页面中。
想象以下情况:我有一个文章详细信息视图,其中文章内容下方有一个“添加评论”链接。单击它时,评论表单将出现在帖子内容的下方。用户应该能够填写评论框,并在不刷新整个视图的情况下发送数据,而只是部分呈现的动作。此外,视图必须提供要在同一会话中添加的多个注释(对 RenderAction() 的多个 AJAX 调用);
实现这一目标的最佳方法是什么?
行动:
[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");
}
这就是基础。您可以根据需要将其复杂化。