asp.Net   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc-3 – ASP.NET MVC 3控制器路由 – 使家庭控制器下的一切显示在域下大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目前,家庭控制器下的所有内容都显示在URL中
example.com/Home/{Action}

有没有办法,我们可以保持所有其他路由的方式,但只有特殊情况的家庭控制器,所以家中的一切都在域下。

喜欢

example.com/about
example.com/contact
example.com/error

而不是为他们每个创建新的控制器类。

编辑:

另一个URL就像

example.com/user/details/123
example.com/user/edit/123

userController中的哪些应该像现在一样工作

解决方法

我觉得最好的办法是:
routes.MapRoute("home","home",new { controller = "Home",action = "Index" });
 routes.MapRoute("about","about",action = "About" });
 routes.MapRoute("contact","contact",action = "Contact" });

 routes.MapRoute(
     "Default",// Route name
     "{Controller}/{action}/{iD}",// URL with parameters
     new { controller = "Home",action = "Index",id = UrlParameter.optional } // Parameter defaults
 );

当您要创建链接时,请使用:

@Html.RouteLink("Home",new{/* route values */},new {/* html attribues */})

要么:

@Html.RouteLink("Home","home")

代替:

@Html.ActionLink("Home","Index","Home",new {/* html attribues */})

这对我有用,也应该为你工作。

您可以在url中的action部分之前创建一个像@(或 – 或其他任何东西)的符号,以使url是唯一的,例如:

routes.MapRoute(
    "test",// route name
    "@{action}",// url and parameters
    new {Controller = "MyHome",action = "Home"} // parameter defaults
    );
routes.MapRoute(
    "Default",// Route name
    "{Controller}/{action}/{iD}",// URL with parameters
    new { controller = "Home",id = UrlParameter.optional } // Parameter defaults
     );

以这种方式,您的网址与默认地图路线不同,您可以创建如下URL:

site.com/@Home
site.com/@About
site.com/@Contact

但是,在我的想法中,第一个是更好的,我总是使用它。

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc-3 – ASP.NET MVC 3控制器路由 – 使家庭控制器下的一切显示在域下全部内容,希望文章能够帮你解决asp.net-mvc-3 – ASP.NET MVC 3控制器路由 – 使家庭控制器下的一切显示在域下所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。