我需要將請求重定向到另一個控制器。所以基本上我有www.MyDomain.com/SomeParameter。我需要從URL讀取此參數值,然後重定向到另一個控制器以進行進一步處理。爲此,我的項目Home和Employee中有兩個控制器,如下所示。重定向到不同的控制器方法
public class HomeController : Controller
{
public ActionResult Index(string ID)
{
if (!string.IsNullOrEmpty(ID))
{
string EmployeeAccountNumber = GetEmployeeNumberFromID(ID);
RedirectToAction("Employee", "Index", EmployeeAccountNumber);
}
return View();
}
private string GetEmployeeNumberFromID(string ID)
{
return "Alpha";
}
}
public class EmployeeController : Controller
{
//
// GET: /Employee/
public ActionResult Index(string id)
{
return View();
}
}
我加入,我想重定向到我EmployeeController路由被定義爲在Global.asax中
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"EmployeeManagement", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Employee", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
正如你在HomeController類的Index方法如下看,但是,斷點我在EmployeeController.Index中設置永遠不會被擊中。我在這裏做錯了什麼?
我不確定這段代碼是否解決了我遇到的特定場景。我在我的問題中添加了更多細節以進一步闡明 –