我对RenderAction()函数的功能感到满意。但是,我想在部分渲染的动作中加载和存储数据,以便一切都在一个页面中进行。
想象一下以下案例:我有一篇文章详细信息视图,其中文章内容下方有“添加评论”链接。点击后,评论表格会显示在帖子的内容下方。用户应该能够填充注释框,并在不刷新整个视图的情况下发送数据,只需要部分呈现的操作。此视图还必须提供在同一会话中添加的几条注释(对RenderAction()的几个AJAX调用);
实现这一目标的最佳途径是什么?
答案 0 :(得分: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");
}
这是基础知识。您可以根据自己的喜好将其变得复杂。