asp.net-mvc - 更改 URL 而不更改重定向的实际路径

标签 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 像这样放置。

提前致谢。

最佳答案

ASP.NET MVC 4 提供了一种工具箱方式来编写应用程序。您在浏览器中看到的 URL 来自路由,它完成了将 url 转换为应用程序路由以及将应用程序路由转换为 url 的艰苦工作。

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

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 !

关于asp.net-mvc - 更改 URL 而不更改重定向的实际路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17441861/

相关文章:

asp.net - 如何在 Azure 应用服务上安装 VC++ 2010 Redistributable

javascript - 单击按钮 AJAX 方式获取 ID

javascript - SagePay iframe 中的 location.reload(true) 在 IE10/11 中重新加载父级

c# - ASP.NET MVC AntiCrsf token 是否依赖 machinekey

c# - 渲染 LabelFor 不显示覆盖的 getter 函数

javascript - 如何将 IEnumerable 转换为 javascript 数组

jquery - ASP.NET MVC3 : ValidationType ModelClientValidationRule

c# - 在MVC4中,如何一次保存多行编辑?

c# - 如何通过 DataReader/DataTable 来查看?

c# - DELETE 语句冲突(ASP.NET MVC)