我在傳統ASP站點下有一個ASP.NET MVC網站。 MVC的網站是:在ASP.NET 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 maps to HomeController(Index action)。
我希望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" }
);
你對在本地主機上運行調試的F5是正確的。 查看帖子的末尾以澄清您的問題。 – birdus 2013-05-01 20:19:30
不,我該怎麼做? – birdus 2013-05-01 21:02:23
@birdus,請檢查我的更新答案,並刪除以前的評論,以便討論簡單。希望工程。 – 2013-05-01 23:08:36