1

ASP.NET - MVC

我希望 URL 显示类别和产品。

例子:

http://www.mytestweb.com/%%category%%/%%product%%

    routes.MapLocalizedRoute("CategoryProduct",
                   "{CategoryName/{ProductName}",
                   new { controller = "Catalog", action = "Product" },
                   new[] { "Nop.Web.Controllers" });



   public ActionResult Product(int productId)
    {
        var category = getcategoryfromProductId(productID);
        //show category in URL
         .............. ??
    }

我可以从数据库中检索类别名称,但我不知道如何在 URL 中实际显示类别。以上仅返回 URL 中的产品名称,这不是我想要的。

4

1 回答 1

0

路线是正确的(除了错字——应该是"{CategoryName/{ProductName}")。问题是,要识别此路由,其操作需要接受路由定义中的所有非可选参数:

public ActionResult Product(string CategoryName, string ProductName)
{
    // lookup ProductID
}

假设需要产品 ID,您必须以某种方式查找给定类别 + 产品名称。

于 2013-07-25T19:51:55.290 回答