如何在Asp.Net MVC中做一个部分帖子?

时间:2011-02-15 04:18:23

标签: asp.net-mvc asp.net-mvc-3

我是asp.net mvc的新手。

我想创建一个网站,允许访问者进行部分发布,例如允许访问者按like按钮投票。

如何在asp.net mvc中执行此操作?

2 个答案:

答案 0 :(得分:9)

您可以使用Ajax实现此功能,浏览器会在“幕后”发送帖子,以便在不重定向用户的情况下发送。服务器将返回JSON format中的数据。

在服务器上:创建新的控制器CommentsController并添加操作Like

[Authorize] /*optional*/
public JsonResult Like(int id)
{
    //validate that the id paramater
    //Insert/Update the database
    return Json(new {result = true});
}

在您看来,只需使用jQuery Ajax方法:

function likeComment(id) {
    $.post('<%=Url.Action("Like", "Comments")%>/' + id, function(data){
        //Execute on response from server
        if(data.result) {
            alert('Comment liked');
        } else {
            alert('Comment not liked');
        }
    });
}

答案 1 :(得分:1)

ASP.Net MVC 仅限于在Web页面中使用仅一个表单。虽然Ajax解决方案比您的方案更受欢迎,但您也可以使用常规HTTP POST,如下所示;

@using (Html.BeginForm(new { controller = "Comments", action = "Like" })) {
    <button type="submit">Like</button>
}