0

让我简要解释一下我需要什么:

我有这些控制器:

  • 用户
  • 产品
  • 评论

而这些动作:

  • 用户/节目
  • 产品/展示
  • 评论/显示

现在网址如下所示:

  • 用户/节目/1
  • 产品/展示/3
  • 评论/显示/7

我想写一个url路由来实现这个:

  • 用户/节目/hamid-reza
  • 产品/展示/汽车
  • 评论/显示/7

这个怎么做?

先谢谢了。

4

2 回答 2

1

您需要做的就是修改 Controller 方法的签名,如下所示:

在您的用户控制器中:

public ViewResult Show(string id)

在您的产品控制器中:

public ViewResult Show(string category)

在你的 CommentController 中:

public ViewResult Show(int id)

它会起作用(当然你也需要改变实现......这是假设,例如,字符串“hamid-reza”是某种ID)。

于 2013-09-12T07:54:05.843 回答
1

路由配置

routes.MapRoute(
    name: "Detail",
    url: "{controller}/{action}/{id}/{name}",
    defaults: new { 
        controller = "User", 
        action = "Show", 
        id = UrlParameter.Optional, 
        name = UrlParameter.Optional 
    }
);

代码背后

Public ActionResult Show(int id)
{

}
于 2013-09-12T08:18:11.360 回答