143

2 つのコントローラーがあり、どちらもAccountController. そのうちの 1 つである let call itController Aは、Area呼び出された状態でAdminあり、もう 1 つは let call itController Bであり、いずれにもありませんArea(つまり、デフォルトにあると思いますAreaか?)。 Controller Baction method呼ばれるものがありLoginます。この行を含むaction methodinがありますController A

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

問題は、404存在actionしないController A. を呼び出したいaction methodController Bこれは可能ですか?

4

7 に答える 7

263

areaパラメータに を指定できrouteValuesます。これを試して:

return RedirectToAction("LogIn", "Account", new { area = "Admin" });

または

return RedirectToAction("LogIn", "Account", new { area = "" });

目指すエリアによります。

于 2012-05-28T13:13:34.527 に答える
30

これを使って:

return RedirectToAction("LogIn", "Account", new { area = "" });

これにより、「グローバル」領域LogInのコントローラーのアクションにリダイレクトされます。Account

このRedirectToActionオーバーロードを使用しています:

protected internal RedirectToRouteResult RedirectToAction(
    string actionName,
    string controllerName,
    Object routeValues
)

MSDN

于 2012-05-28T13:15:03.837 に答える
10

これを使用できます:

return RedirectToAction("actionName", "controllerName", new { area = "Admin" });
于 2018-04-01T15:21:16.527 に答える