Hi I have a problem with my RedirectToAction not redirecting. My code successfully hits a breakpoint placed on the Redirect so I can confirm it is being called. Nothing seems to happen however.
I have tried looking at the network traffic in Chrome and there doesn't seem to be anything obvious. I must be missing something simple!
//
// POST: /Blog/CreateBlog
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult CreateBlog(BlogViewModel model)
{
var userId = User.Identity.GetUserId();
model.UserId = userId;
if (ModelState.IsValid && model.UserId != null)
{
Mapper.CreateMap<BlogViewModel, Blog>();
if (_blogProcess.CreateBlog(Mapper.Map<BlogViewModel, Blog>(model)))
{
RedirectToAction("Index", "Blog");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
try
In addtion to Nalaka526's answer: if we look into the documentation for
RedirectToAction
we can see that it's an instance method of theController
class which hasRedirectToRouteResult
as return type, which derives fromActionResult
which indicates that we have toreturn
it, just like we returnView
andPartialView
for example.If you are using @using(Html.BeginForm("Index","Blog"..) on the view page then
should work.
If you are using
Ajax.BeginForm
, then you need to redirect to a new action/url from javascriptOnSuccess
event. sample code for your viewHope this helps.