【问题标题】:Add value to {0}为 {0} 添加价值
【发布时间】:2014-02-17 12:08:20
【问题描述】:

我从这些地址开始

  • www.example.com/nav/Default.aspx
  • www.example.com/nav/Fruit/Apple.aspx

我想要的是隐藏地址中的 navaspx 文本。

  • www.example.com/Default
  • www.example.com/Fruit/Apple

我在 Global.asax 文件中尝试了一些代码

RouteTable.Routes.MapPageRoute("PageRoute", "{0}", "~/nav/{0}.aspx");

现在可以了:

www.example.com/Default

但现在我想追加Page,像这样:

  • www.example.com/DefaultPage

    RouteTable.Routes.MapPageRoute("PageRoute", "{0}Page", "~/nav/{0}.aspx");

为什么这段代码不起作用?这样做的正确方法是什么?

【问题讨论】:

  • 请分享更多上下文。
  • ""{0}"+"page"" 只是 ""{0}page"" (不是 ""{0} page"" 作为一个答案),但我认为这根本不是你想要的。你能描述一下你希望得到的效果吗?
  • 好的,让我编辑我的问题
  • @Faizan 那个编辑没有让你的问题更清楚。
  • @Faizan 你想要的是当有人去example.com/hellopage 他们看到"~/nav/hello/index.aspx" 页面,对吗?

标签: c# asp.net url-routing global-asax


【解决方案1】:

表达式"{0}" + "page"相当于一个字符串"{0}page",所以不需要手动连接两个字符串,直接写成一个即可。

route.MapPageRoute("Christianty", "{0}page", "~/nav/{0}/index.aspx");

【讨论】:

  • @poke 我已经纠正了,我的初始测试由于某种原因没有工作,再次测试使它工作。 +1
  • @Stijn 你是认真的吗?哈,那真是太幸运了——我正要删除答案,因为我不知道 ASP 路由 xD
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-01
  • 2017-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多