ASP.NET MVC - Ajaxified RenderAction

时间:2010-03-03 19:17:38

标签: asp.net asp.net-mvc ajax renderaction

我对RenderAction()函数的功能感到满意。但是,我想在部分渲染的动作中加载和存储数据,以便一切都在一个页面中进行。

想象一下以下案例:我有一篇文章详细信息视图,其中文章内容下方有“添加评论”链接。点击后,评论表格会显示在帖子的内容下方。用户应该能够填充注释框,并在不刷新整个视图的情况下发送数据,只需要部分呈现的操作。此视图还必须提供在同一会话中添加的几条注释(对RenderAction()的几个AJAX调用);

实现这一目标的最佳途径是什么?

1 个答案:

答案 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");
}

这是基础知识。您可以根据自己的喜好将其变得复杂。