nopcommerce中的动态路由3.9

时间:2017-08-24 08:51:35

标签: routing nopcommerce

我第一次尝试nopcommerce。在探索它时,我发现有一个网址http://localhost:15536/apple-macbook,其中 apple-macbook 是产品名称。

我想知道如何完成这样的动态路由。我可以知道吗?

1 个答案:

答案 0 :(得分:1)

返回nopCommerce 3.9您将在此处找到此路线的定义

<强> ... / Nop.Web /基础设施/ GenericUrlRouteProvider.cs

routes.MapGenericPathRoute("GenericUrl",
    "{generic_se_name}",
    new {controller = "Common", action = "GenericUrl"},
    new[] {"Nop.Web.Controllers"});

.MapGenericPathRoute()可以在 ... / Nop.Web.Framework / Seo / GenericPathRouteExtensions.cs

中找到

GenericPathRoute 将查找数据库(UrlRecord表),如果某些内容与请求匹配,则会将请求重定向到找到的实体的控制器。

在您的情况下,这意味着重定向到

case "product":
{
    data.Values["controller"] = "Product";
    data.Values["action"] = "ProductDetails";
    data.Values["productid"] = urlRecord.EntityId;
    data.Values["SeName"] = urlRecord.Slug;
}

使用上面的RouteData,可以调用ProductController上的ProductDetails操作。