4

こんにちは私はアカウントが作成されたら新しいコントローラーにリダイレクトしようとしていますが、何らかの理由でコードが機能しません。これが私のコードです:

[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")たが、両方とも機能しません。デバッグ中に、コードのその部分に到達すると、それをスキップすることに気づきました。

また、アカウントを作成するため、アプリケーションが例外をスローしないことを私は知っています。

ここでの問題は何ですか?

4

1 に答える 1

5

ActionResultアクションからを返す必要があるため、行を次のように変更します。

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

Controller.RedirectToActionのMSDNの例を参照してください。

于 2012-12-26T20:25:35.977 に答える