如何使UpdateTargetId在Ajax.ActionLink中工作?

我在控制器中有这个方法

[HttpDelete] public void DeleteDocument(int id) { //Here I do the deletion in the db } 

在视图中我有这个,调用一个返回局部视图的方法

 @{ Html.RenderAction("GetDocumentsByMember"); } 

GetDocumentsByMember方法

  public ActionResult GetDocumentsByMember() { var companyGuid = HttpContextHelper.GetUserCompanyGuid(); var documents = _service.GetUploadedDocumentsByMember(companyGuid); return PartialView(documents); } 

而局部观点

 @model IEnumerable 
@*Here there's a table and at one of the columns there's the next link*@ @Ajax.ActionLink("Delete", "DeleteDocument", new { id = document.Id }, new AjaxOptions { Confirm = "Are you sure you want to delete?", HttpMethod = "DELETE", OnComplete = "deleteComplete" })

而deleteComplete只是刷新一切

  function deleteComplete() { window.location.reload(); }  

很长(格式正确吗?)一个简单问题的代码,我不能让ajaxoption UpdateTargetId在这里工作而不必调用这个deleteComplete函数。 任何的想法?

谢谢

您可以使用AJAX调用GetDocumentsByMember操作,而不是重新加载整个页面,只更新实际已更改的DOM部分:

  

此外,您最好使用OnSuccess = "deleteSuccess"而不是OnComplete = "deleteComplete"因为只有在Delete调用实际成功时才应更新。 不要忘记,无论AJAX调用是否成功,都会始终调用OnComplete回调。