要解决此问题,您需要确保在路由配置中将默认路由配置为控制器/操作。以下是一个解决方案的示例代码:
在Global.asax.cs文件中:
using System.Web.Mvc;
using System.Web.Routing;
namespace YourNamespace
{
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
}
在RouteConfig.cs文件中:
using System.Web.Mvc;
using System.Web.Routing;
namespace YourNamespace
{
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 }
);
}
}
}
在HomeController.cs文件中:
using System.Web.Mvc;
namespace YourNamespace.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
}
确保您的路由配置文件中包含这些代码,并且Default路由将控制器设置为"Home",操作设置为"Index"。然后,当您访问"/home"时,它将正确地路由到Home控制器的Index操作。