を無視なっている:私は他のブロック(デバッグ)にコードジャンプをするときAspNetCore MVC - リターンRedirectToActionは、私は以下のような作用を有する
[HttpGet]
public IActionResult SendEmailVerificationCode(int userId)
{
SpaceUser user = userManager.FindByIdAsync(userId).Result;
bool taskComleted = SendEmailVerificationLink(userId).IsCompleted;
if (taskComleted)
{
AddToErrorData(InfoMessages.EmailVerificationLinkSent_Params, user.Email);
return RedirectToAction(nameof(HomeController.Index), "Home");
}
else
{
return RedirectToAction("EmailNotConfirmed", new { userId = user.Id });
}
}
それがであるEmailNotConfirmed
アクションにリダイレクトします同じコントローラ。しかし、HomeController
のIndex
アクションにリダイレクトされません。代わりに、ブラウザはAccount/SendEmailVerificationCode
にとどまり、空白のページを表示します。
HomeController.Index
は以下の通りです:
[HttpGet]
public IActionResult Index()
{
return View();
}
私はこれらを試してみました:初めSendEmailVerificationCode
アクションで
- は非同期でしたが、
HomeController.Index
ませんでした。だから両方とも非同期であると宣言した。 - その後、私は
async
の両方の宣言を削除しました。 - 私は
return RedirectToAction("Index", "Home");
を試しました。 SendEmailVerificationCode
はHttpPost
属性を有する。私はHttpGet
に変更しました。
別のコントローラのアクションにリダイレクトするにはどうすればよいですか?
任意の助けいただければ幸いです。
PS:私は今、しばらくの間、この問題についての研究をやっていると、私のような質問のためのソリューションを読んだ:
MVC RedirectToAction is not working properly
RedirectToAction gets ignored
しかし、これらのどれか行動に関する質問Ajaxリクエストの後にリダイレクトされていないと私は助けてくれました。
ありがとうございました。
{/ 'routes.MapRoute( "MainIndex"、「{コントローラ}としてStartup.cs''に新しいルートを追加しようとしました(MainIndex ");'しかし、それは動作しませんでした。 – Chakian