我试图创建一个通用的路线蛞蝓的工作,但我C#泛型的mvc路线总是得到一个错误使用弹头
的想法是,而不是www.site.com/controller/action我在网址友好www.site.com/{slug}
eg www.site.com/Home/Open将代替www.site.com/open-your-company
错误
服务器 '/' 应用程序错误的资源不能发现
在我的Global.asax我
public static void RegisterRoutes(RouteCollection routes)
{
//routes.Clear();
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("DefaultSlug", "{slug}", new { controller = "Home", action = "Open", slug = "" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new
{
area = "",
controller = "Home",
action = "Index",
id = UrlParameter.Optional,
slug = ""
}
);
}
在我的一个cshtml
我有以下链接(即使它被评论,仍然有相同的错误)。
@Html.ActionLink("Open your company", "DefaultSlug", new { controller = "Home", action = "Open", slug = "open-your-company" })
编辑:HomeController的
public ActionResult Open() {
return View(new HomeModel());
}
证明'DefaultSlug'路线图的行动。 – Nkosi
这个动作是在家里打开'public ActionResult Open() { return View(new HomeModel()); }' –
但是我想你有一点,我看到INSIDE的HomeModel中有一些参数是按位置访问的。将现在测试它 –