Mam dwa kontrolery, oba nazywane AccountController
. Jeden z nich, nazwijmy go Controller A
, jest w Area
wywołaniu, Admin
a drugi, nazwijmy go Controller B
, nie ma w żadnym Area
(myślę, że to znaczy, że jest domyślny Area
?). Controller B
ma action method
wezwanie Login
. Mam action method
in Controller A
, który ma tę linię
return RedirectToAction("LogIn", "Account");
Problem polega na tym, że otrzymuję znak, 404
gdy ta linia jest wykonywana, ponieważ podejmowana jest próba przekierowania do nieistniejącego action
w Controller A
. Chcę wywołać action method
in Controller B
. czy to możliwe?
asp.net-mvc
asp.net-mvc-3
c#-4.0
redirecttoaction
Sachin Kainth
źródło
źródło
Odpowiedzi:
Możesz podać
area
wrouteValues
parametrze. Spróbuj tego:Lub
w zależności od obszaru, do którego celujesz.
źródło
area = ""
zrobi to za Ciebie.Użyj tego:
Spowoduje to przekierowanie do
LogIn
akcji wAccount
kontrolerze w obszarze „globalnym”.Używa tego
RedirectToAction
przeciążenia:MSDN
źródło
Możesz użyć tego:
źródło
Użyj tego:
źródło
Spróbuj je zmienić:
Spróbowałem i zadziałało.
źródło