Ich schrieb meine Routen so.RedirectToAction leitet falsch mit anderen Namespaces asp.net mvc
routes.MapRoute(
name: "AdminECommerce",
url: "Admin/ECommerce/{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional },
namespaces: new []{ "AdminEcommerce.Controllers" }
);
routes.MapRoute(
name: "ECommerce",
url: "ECommerce/{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional },
namespaces: new []{ "Ecommerce.Controllers" }
);
routes.MapRoute(
name: "User",
url: "Plugin/User/{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional },
namespaces: new []{ "User.Controllers" }
);
routes.MapRoute(
name: "UserRegistration",
url: "Plugin/UserRegistration/{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional },
namespaces: new []{ "UserRegistration.Controllers" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Wenn ich will in demselben Controller RedirectToAction
von einer Aktion auf andere Aktion verwenden, sonst Es Leitet Irgendwo.
Für Beispiel, ich will es mir
Aber, sendet mir
Plugin/UserRegistration/Register/Register
zu
Admin/ECommerce/Register/Register
ich schon erwähnt, haben umleiten, dass mein Controller in anderen Bibliotheken sind.
Was ist falsch an meinem Code?
Update: Controller-Registration
public ActionResult Register()
{
ViewBag.securityQuestions = _dataRepository.GetContext().User_SecurityQuestion;
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult RegisterNewUser(User_User model, FormCollection collection)
{
try
{
// register new user
...
return RedirectToAction("Register");
}
catch
{
// making error messages
...
return RedirectToAction("Register");
}
Ich habe auch versucht dies,
return RedirectToAction("Register","Registration");
Es funktioniert nicht.
Zeigen Sie Ihre Controller-Code –
zum Umleiten sehe ich diesen Weg 'AdminECommerce' zuerst eher als' UserRegistration' von Top-down-Route Reihenfolge ausgeführt, wenn sie sind in Bereichen können Sie Bereich Parameter in 'defaults' hinzufügen zwischen ihnen unterscheiden. –
Ich habe keine Bereiche in meinem Projekt, sondern separate Klassenbibliotheken für jeden Teil meines Projekts. –