ASP.NET MVC - Ajaxified RenderAction

发布于 2024-08-23 15:48:14 字数 270 浏览 10 评论 0原文

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

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

实现这一目标的最佳方法是什么?

I am happy with what the RenderAction() function does. However, I'd like to ajaxify the loading and storing of data in the partially rendered action, so that everything happens in one page.

Imagine the following case: I have an article details view where there's an "Add comment" link beneath the content of the article. When it's clicked, a comment form would appear beneath the content of the post. The user should be able to fill the comment box, and send the data without refreshing the whole view, just the partially rendered action. Also the view must provide for several comments to be added in the same session (several AJAX calls to RenderAction());

Which is the best way to achieve that ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

听闻余生 2024-08-30 15:48:15

操作:

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

这是基础知识。您可以根据需要将其变得复杂。

Action:

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

View:

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

JavaScript:

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

That's the basics. You can make this as complicated as you like.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文