RedirectToAction完成后,View不会刷新

Ven*_*kyi 8 asp.net-mvc redirecttoaction

这是我的问题:

[HttpPost]
public ActionResult AddData(CandidateViewModel viewModel)  
{
    var newCandidateId = 0;  
    newCandidateId = this._serviceClient.AddCandidate(viewModel);  
    return  RedirectToAction("DisplayCandidate",new {id=newCandidateId});  
}

public ActionResult DisplayCandidate(int id)
{
    var candidateViewModel= this._serviceClient.GetCandidate(id);
    return View(candidateViewModel);
}
Run Code Online (Sandbox Code Playgroud)

填写表单后viwemodel发送到服务器.存储数据后,将流重定向到DisplayCandidate操作,它会转到那里,但页面没有刷新.我不明白为什么!请帮忙.

HaB*_*aBo 11

因为您正在使用Ajax Post

public ActionResult AddData(CandidateViewModel viewModel)  
{
    var newCandidateId = 0;  
    newCandidateId = this._serviceClient.AddCandidate(viewModel); 
    string ReturnURL = "/DisplayCandidate/"+newCandidateId;
    return JSON(ReturnURL);  
}
Run Code Online (Sandbox Code Playgroud)

并在您的Ajax Post方法中:

Onsuccess(function(retURL){ window.location(retURL); })
Run Code Online (Sandbox Code Playgroud)

这将采用新的Action,Action将返回View.

  • 用`location.replace(retURL)`替换`windows.location(retURL)`也从不使用手动url contructing,我们`url.Action("DisplayCandidate",new {id = newCandidateId})` (3认同)
  • 对不起,但它无法正常工作.可能,你错过了什么? (2认同)