更改URL而不更改实际路径以重定向

时间:2013-07-03 07:14:05

标签: asp.net-mvc asp.net-mvc-4

我是ASP.Net的新手并且正在开发MVC 4.我想用自定义的URL替换当前的URL。

例如: 当前网址:http://www.testsite.com/home?pageId=1002

所需网址:http://www.testsite.com/1002/home/

因此,地址栏中显示的URL将是所需的URL,实际的URL将是当前的URL。

我在我的项目的Global.asax文件中尝试了URL路由,但似乎对我不起作用。

我想要的是将URL放在这样的位置。

先谢谢。

1 个答案:

答案 0 :(得分:1)

ASP.NET MVC 4提供了一种编写应用程序的工具箱方式。您在浏览器中看到的URL来自路由,它将努力将网址转换为应用路由,将应用路由转换为网址。

1)默认的ASP.NET MVC 4模板项目在名为RouteConfig的App_Start文件夹中附带一个文件,您必须在该文件夹中配置应用程序的路由。

2)路线具有优先顺序,因此,将此路线放在默认路线之前:

 routes.MapRoute(
            name: "RouteForPageId",
            url: "{pageId}/{action}",
            //controller = "Home" and action = "Index" are the default value,
            //change for the Controller and action that you have
            //pageId is the parameter from the action that will return the page
            defaults: new { controller = "Home", action = "Index" }
        );

现在您可以输入myappdomain / 1220 / index作为例子。

希望这对你有所帮助!在这里查看更多信息ASP.NET Routing