如何返回JSON或RedirectToAction?

Dav*_*Dev 6 c# asp.net-mvc redirecttoaction jsonresult

我有一个Action方法,我要么在一个条件下返回JSON,要么在另一个条件下重定向.我以为我可以从我的方法返回的ActionResult,但这样做会导致错误这样做"不是所有的代码路径返回一个值"

谁能告诉我我做错了什么?或者如何达到预期的效果?

这是下面的代码:

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Login(User user)
    {
        var myErrors = new Dictionary<string, string>();
        try
            {


                if (ModelState.IsValid)
                {
                    if (userRepository.ValidUser(user))
                    {
                        RedirectToAction("Index", "Group");
                        //return Json("Valid");
                    }
                    else
                    {
                        return Json("Invalid");
                    }

                }
                else
                {
                    foreach (KeyValuePair<string, ModelState> keyValuePair in ViewData.ModelState)
                    {
                        if (keyValuePair.Value.Errors.Count > 0)
                        {
                            List<string> errors = new List<string>();

                            myErrors.Add(keyValuePair.Key, keyValuePair.Value.Errors[0].ErrorMessage);
                        }

                    }
                    return Json(myErrors);
                }
            }
            catch (Exception)
            {
                return Json("Invalid");
            }

        }
Run Code Online (Sandbox Code Playgroud)

编辑:澄清一下,我已经return RedirectToAction("Index", "Group");按照答案中的建议尝试了,但它没有做任何事情.我正在重定向到的动作中的断点不会被击中.

Dan*_*ott 3

你需要改变

RedirectToAction("Index", "Group"); 
Run Code Online (Sandbox Code Playgroud)

return RedirectToAction("Index", "Group"); 
Run Code Online (Sandbox Code Playgroud)