【问题标题】:How to change routing in asp.net mvc3如何在asp.net mvc3中更改路由
【发布时间】:2013-01-31 09:47:39
【问题描述】:

我的图片很少,请看一下

控制器名称

带有参数的动作名称

路由

我只是显示图像以清除控制器和动作等的名称。现在在我打电话给

的情况下

tags/1 它转到标签控制器的索引操作

这很好,现在我希望将来我的网址看起来像这样

/tags/Coupons-1.html 这里1pageno 并且每次都会更新

我该怎么做

提前致谢,如果您还需要什么,请询问。

【问题讨论】:

  • @downvoter ,我认为你应该在投票前解释一下。
  • 好像你已经回答了自己的问题

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 asp.net-mvc-routing


【解决方案1】:

你可以这样做:

改变你的路线如下:

routes.MapRoute(
              name: "Tags",
              url: "tags/{pageno}",
              defaults: new { controller = "Tags", action = "Index"
              , pageno = UrlParameter.Optional }
          );

注意我将pageno 参数更改为string

控制器

 public ActionResult Index(string pageno)
 {
   Do Something
 }

现在在控制器中你应该这样做:

  • 如果参数是NULL 做某事
  • 接下来尝试将参数解析为Int,如果是这样,那么你知道你得到了tags/1
  • 如果它不是Int,那么在这种情况下,您可能会得到类似/tags/Coupons-1.html 的内容,从参数中提取页码

【讨论】:

  • 感谢它的帮助,我忘记将 int 更改为 string 。再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
  • 2012-02-18
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多