Classic ASP サイトの下に ASP.NET MVC サイトがあります。MVC サイトは次のとおりです。
ルート
http://www.inrix.com/traffic
http://www.inrix.com/traffic/home
http://www.inrix.com/traffic/features
うまく動作します。ただし、ルート:
http://www.inrix.com/traffic/support
ではない。それをクリックして、私が得ているものを確認してください。アクションを含める場合:
http://www.inrix.com/traffic/support/index
できます。
VS で F5 キーを押して自宅でこれを実行すると、http://www.inrix.com/traffic/supportだけで正常に動作します(つまり、アクションが指定されていません)。ここに私のルートがあります:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Terms",
"{controller}/{id}",
new { controller = "Terms", action = "Index" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"ThankYou",
"{controller}/{action}/{email}/{id}"
);
}
www.inrix.com/traffic は HomeController (Index アクション) にマップされます。
www.inrix.com/traffic/support が SupportController の Index アクションにマップされるようにします。
「サポート」ルートはどうなっていますか?
追加コード:
コントローラ:
using System.Web.Mvc;
namespace InrixTraffic.Controllers
{
public class SupportController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
意見:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Support</title>
</head>
<body>
<h1>Hello!</h1>
</body>
</html>
新しいルート:
routes.MapRoute(
"Support",
"traffic/support",
new { controller = "Support", action = "Index" }
);