0

我有几个图片请看看如何改变在asp.net MVC3路由

控制器名称

Tags Controller name

操作名称与paramteres

Action Name with paramters

路由

Routing

我只是显示图像来清除控制器和动作等名称等。现在,在目前的情况下,当我拨打电话到

tags/1它进入的标记控制器

这是很好的指标作用,现在我想在今后的我的URL看起来像这样

/tags/Coupons-1.html这里1pageno这将更新每次

我怎样才能做到这一点

在此先感谢,并请询问如果你需要什么。

+2

@downvoter,我认为你应该关心解释之前downvote。 – Smartboy 2013-02-15 12:16:40

+0

好像你已经回答了你自己的问题 – 2013-02-15 12:32:26

回答

0

你可以做这样的事情:

变更路线如下:

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在这种情况下,从参数中拉出页码
+0

感谢它真的帮助,我忘记将int更改为字符串。再次感谢 – Smartboy 2013-02-15 12:32:45