为什么Ajax不起作用? (ASP.NET MVC5)

时间:2014-09-06 20:40:07

标签: c# ajax asp.net-mvc

我正在使用ASP.NET MVC 5进行Web应用程序。在我看来,我做了所有事情,但是ajax只是不起作用。刷新后我才看到结果。 这是我的观点:

@{
    AjaxOptions ajaxOptions = new AjaxOptions { 
        UpdateTargetId = "CommmentList", 
        HttpMethod = "Post", 
        InsertionMode = InsertionMode.Replace};

}
<div id="CommentList">
    @using (Ajax.BeginForm("Index", "Comment", ajaxOptions))
{
// some content
<div>
    @Html.Action("_AddCommentForItem", "Comment")
</div>
}
</div>

这是在布局视图中:

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.js" type="text/javascript"></script>

编辑:

这些是评论控制器中的操作:

 // GET: Comment
    public async Task<ActionResult> Index()
    {
        var comments = db.Comments.Include(k => k.Item);
        return View(await comments.ToListAsync());
    }

// GET
    public PartialViewResult _AddCommentForItem()
    {
        ViewBag.ItemId = new SelectList(db.Items, "Id", "Name");

        return PartialView("_AddCommentForItem");
    }


    // POST
    [HttpPost]
    public PartialViewResult _AddCommentForItem ([Bind(Include = "Id,ItemId,CommentContent")] Comment comment)
    {

        if (ModelState.IsValid)
        {
            db.Comments.Add(commment);
            db.SaveChanges();

        }

        ViewBag.ItemId = new SelectList(db.Items, "Id", "Name", comment.ItemId);
        return PartialView("_AddCommentForItem");
    }
  }
}

我在Comment控制器的索引视图中包含了部分视图_AddCommentForItem,它正在创建注释。这种方式我想让结果立即可见,而不需要刷新。

我错过了什么? 谢谢。

0 个答案:

没有答案