让我简要解释一下我需要什么:
我有这些控制器:
- 用户
- 产品
- 评论
而这些动作:
- 用户/节目
- 产品/展示
- 评论/显示
现在网址如下所示:
- 用户/节目/1
- 产品/展示/3
- 评论/显示/7
我想写一个url路由来实现这个:
- 用户/节目/hamid-reza
- 产品/展示/汽车
- 评论/显示/7
这个怎么做?
先谢谢了。
让我简要解释一下我需要什么:
我有这些控制器:
而这些动作:
现在网址如下所示:
我想写一个url路由来实现这个:
这个怎么做?
先谢谢了。
您需要做的就是修改 Controller 方法的签名,如下所示:
在您的用户控制器中:
public ViewResult Show(string id)
在您的产品控制器中:
public ViewResult Show(string category)
在你的 CommentController 中:
public ViewResult Show(int id)
它会起作用(当然你也需要改变实现......这是假设,例如,字符串“hamid-reza”是某种ID)。
路由配置
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)
{
}