c# - 如何有路线 Product/a23 而不是 Product/Index/a23
问题描述
我尝试通过 ProductController 的 Index 操作为我们的产品提供 MVC 请求。
public ActionResult Index(string id)
{
return View();
}
而且我想避免“ http://oursite.com/Product/Index/a23 ”的模式(其中a23是产品的唯一ID)
相反,我需要“ http://oursite.com/Product/a23 ”
我的 route.config 是 VS mvc web-app 模板的默认设置,如下所示:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
什么是最简单,更好的方法?我宁愿不更改默认的 mapRoute,因为它适用于我们 web 应用程序的其他端点,即 Order/Placement/18、Inventory/Stats 等。任何添加 mapRoute 或路由属性的解决方案都将受到欢迎。
解决方案
推荐阅读
- python - 可视化面对面记录的最佳方式是什么?
- shell - 使用 shell 将一行中的第一个单词替换为另一个单词
- css - SVG 到 html 大小在不应该时放大
- java - GoldfishAddressSpaceHostMemoryAllocator:ioctl_ping 失败
- mysql - 我无法在 ubuntu 18.04 上安装 mysql
- reactjs - Redux 状态更改不会重新渲染数据表
- javascript - Vue Now UI Kit 中组件内的反应性
- arrays - 从 Racket 中的列表列表中获取具有最大值的列表
- php - 使用 PHP 运行查询时出现 SQL 脚本错误
- php - 用户控制器中的 Laravel '未定义变量:'