首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在asp.net mvc中定制网址

如何在asp.net mvc中定制网址
EN

Stack Overflow用户
提问于 2017-03-18 12:00:48
回答 2查看 350关注 0票数 0

我想为我的asp.net mvc应用程序定制URL。目前我正在开发asp.net MVC4.5

案例:1

代码语言:javascript
复制
Current URL : localhost/Country/Index/param1
Expected URL : localhost/param1 

案例:2

代码语言:javascript
复制
Current URL : (1) localhost/Country/Index/param1 (Param1 is name of country)
              (2) localhost/State/Index/param11  (param11 is name of state)

Expected URL : localhost/param1/param11 (I need second url like this.)

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-03-21 19:22:09

ASP.net MVC处理基于routing.The路由的请求,处理从路由表获取的数据。所以基本上你必须至少让控制器和URL为我们提供更改action.But的选项,如下所示:

代码语言:javascript
复制
routes.MapRoute(
                name: "Test",
                url: "myURl/{param1}",
                defaults: new { controller = "myURl", action = "actualActionName", id = UrlParameter.Optional }
            );

在MVC5中,属性路由也可以做到这一点。

票数 0
EN

Stack Overflow用户

发布于 2017-08-17 17:33:37

要实现您的结果,只需为每个事件创建单独的路由器。

目前您可能正在使用如下所示的默认路由。

代码语言:javascript
复制
routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

或者尝试创建一些不同的路由。

我的建议是为每个事件创建单独的路线。like :使用param1和param11创建路由,以获得期望的结果。

代码语言:javascript
复制
routes.MapRoute(
  name: "Default",
  url: "param1/param11",
  defaults: new { controller = "param1", action = "param11", id = UrlParameter.Optional }
);

为另一个事件和方法创建相同的对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42870303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档