ASP.NET MVC的基本AJAX示例?

Mit*_*rax 25 ajax asp.net-mvc jquery

我正在为教育目的制作一个演示ASP.NET MVC应用程序.

我有一个图像/链接标记帖子令人反感.我想通过AJAX从服务器请求标记攻击并检查以确保用户具有此功能.

如果用户这样做,那么我想在数据库中将帖子标记为冒犯并返回该标志经过.如果用户最终没有权利标记项目,那么我想向客户端返回一条负面消息,这样我就可以弹出一个很好的jQuery框,说明它没有通过.

我试图在没有完整的回发/刷新的情况下完成所有操作.

有没有人有任何链接到使用MVC进行的简单AJAX请求的示例?

Joh*_*udi 24

使用jQuery实际上非常简单.假设你的链接是这样的:

<a href="javascript:flagInappropriate(<%=Model.PostId%>);">Flag as inappropriate</a>
Run Code Online (Sandbox Code Playgroud)

创建一个javascript来调用控制器中的操作以根据需要进行检查和标记:

function flagInappropriate(postId) {
    var url = "<CONTROLLER>/<ACTION>/" + postId;
    $.post(url, function(data) {
        if (data) {
            // callback to show image/flag
        } else {
            // callback to show error/permission
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

在你的控制器中的动作方法可能如下所示:

[AcceptVerbs("POST")]
public bool FlagAsInappropriate(int id) {
    // check permission
    bool allow = CheckPermission();

    // if allow then flag post
    if (allow) {
        // flag post

        return true;
    } else {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 因为如果CheckPermission返回true,您可能想要做一些额外的逻辑/操作 - 请参阅// flag post area (4认同)