看起来你可能有一些路由问题。RouteConfig.cs 文件位于 MVC4 项目的 App_Start 文件夹中。
另一件事,如果您的 Page 操作与 HomeController 位于不同的控制器中,那么您需要代码如下:
public ActionResult Index()
{
return RedirectToAction("OtherController", "Page", new { id = "Home" });
}
我使用您拥有的重定向创建了一个基本的 MVC4 项目,它对我有用。用户最终到达以下 URL:[http://localhost:47272/Home/Page/Home]
这是我的 HomeController.cs
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return RedirectToAction("Page", new { id = "Home" });
}
public ActionResult Page(string id)
{
return View();
}
}
这是我的 RouteConfig.cs
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}