如何使用mvc4中的RouteConfig.cs文件重写url?

时间:2015-02-11 04:46:04

标签: asp.net-mvc asp.net-mvc-4

我需要你的帮助,因为我搜索但我的问题没有解决。非常感谢。

我有网址:http://example.com/products/?sec=2(2是sectionname的id) 现在,我想展示http://example.com/products/sectionname`

请告诉我如何在RouteConfig.cs文件中执行操作? (我是mvc4和c#的新手,所以我无法理解我在谷歌搜索中看到的内容)。 以下是我的控制器:

public ActionResult Index(int cat=-1, int sec=-1, fea=-1)
{
   var products = db.Products.Where(p => p.Publish).OrderByDescending(p=>p.ProductDate).ToList();
   if (sec!=-1)
  {
    products = products.Where(p => p.Category.SectionId ==sec).ToList();      
  }
  if (cat!=-1)
  {
    products = products.Where(p => p.CategoryId == cat).ToList();
  }
  if (fea!=-1)
  {
   products = products.Where(p => p.Feature == true).ToList();
  }
   return View(products);
}

我的路线:

routes.MapRoute(
                "section name", // Route name
                "Products/section/{sec}", // URL with parameters
                new
                {
                    controller = "Products",
                    action = "Index", sec =UrlParameter.Optional,
                }
            );

当我运行我的项目时,它仍然是http://example.com/products/?sec=2

1 个答案:

答案 0 :(得分:-1)

在我看来,我从<a href="/Products/?sec=@item.Id">@item.SectionName</a>更改为<a href="/Products/Sect/@item.Id">@item.SectionName</a>

有效。