Joh*_*oge 9 asp.net routing .net-4.0
我正在使用.net 4中使用路由的webforms应用程序.我在global.asax中定义了一条非常基本的路由,如下所示:
RouteTable.Routes.MapPageRoute("myRouteName", "MyRoutePath", "~/RouteHandlers/MyHandler.aspx");
Run Code Online (Sandbox Code Playgroud)
在我的一个页面的代码隐藏中,我用它GetRouteUrl
来生成这个命名路由的URL,如下所示:
Response.RedirectPermanent(GetRouteUrl("myRouteName"));
Run Code Online (Sandbox Code Playgroud)
这不会产生预期的结果http://sitename/MyRoutePath
.相反,它产生http://sitename/MyRoutePath?length=15
长度参数似乎没有受到伤害,但我花了很多时间使URL看起来很好,所以我不想在那里看到额外的参数.知道如何禁用它吗?
mar*_*nes 17
我今天早上使用Web Forms只遇到了一个我的路由,我遇到了同样的问题,我通过为GetRouteUrl方法提供第二个参数,传入null(因为这个特定的路由不需要任何路由参数)来解决它.
例如:
GetRouteUrl("name-of-my-route", null)
Run Code Online (Sandbox Code Playgroud)
我的网址现在很干净,没有附加?length = 15.
希望这也可以帮助你的情况.
归档时间: |
|
查看次数: |
2691 次 |
最近记录: |