页面重定向不起作用

时间:2012-12-26 20:19:16

标签: asp.net-mvc asp.net-mvc-3

您好我在创建帐户后尝试重定向到新控制器,但由于某种原因,代码无效。这是我的代码:

[HttpPost]
public ActionResult Register(Register model)
{
    if(ModelState.IsValid)
    {
        try
        {
            Membership.CreateUser(model.Username, model.Password, model.EMail);
            Roles.AddUserToRole(model.Username, "subscriber");
            RedirectToAction("AccountCreated" , "Account");
        } 
        catch(Exception ex)
        {
            ModelState.AddModelError("" , ex.Message);
        }
    }
    else
    {
        ModelState.AddModelError("" , "One or more fields are not completed");
    }
    return View(model);
}

public ActionResult AccountCreated()
{
    return View();
}

我已经尝试了RedirectToAction("AccountCreated" , "Account");Redirect("~/Account/AccountCreated"),但两者都不起作用。在进行调试时,我注意到当它到达代码的那一部分时,它会跳过它。

我知道应用程序不会抛出异常,因为它会创建帐户。

这里有什么问题?

1 个答案:

答案 0 :(得分:5)

您必须从操作中返回ActionResult,因此请将行更改为

return RedirectToAction("AccountCreated" , "Account");

请参阅Controller.RedirectToAction的MSDN示例。