我寫了我的這樣的路線。RedirectToAction重定向錯誤與其他命名空間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 }
);
當我想在同一個控制器重定向別的地方使用RedirectToAction
從一個動作到另一個動作。
例如,我想它我重定向到
Plugin/UserRegistration/Register/Register
但是,它把我送到
Admin/ECommerce/Register/Register
我不得不提到我的控制器都在其他庫。
我的代碼有什麼問題?
更新:控制器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");
}
我也試過這個,
return RedirectToAction("Register","Registration");
它不工作。
顯示控制器代碼重定向 –
我看到這條路線'AdminECommerce'執行第一,而不是'自上而下的路線順序UserRegistration',如果他們在區域您可以添加區域參數爲'defaults'到區分它們。 –
我的項目中沒有區域,只是爲我的項目的每個部分分開類庫。 –