Asp.net mvc NETMVC。带尾随斜杠的布线

Asp.net mvc NETMVC。带尾随斜杠的布线,asp.net-mvc,routes,Asp.net Mvc,Routes,我想要两条路线,例如: 及 尾随斜杠是唯一的区别 在第一种情况下,我想显示关于产品的信息,在另一种情况下,我想显示关于类别的信息。“产品”和“类别”是某些产品或类别的名称 有可能实施吗 我的做法: 路线: routes.MapRoute("category route", "{name2}", new { controller = "test", action = "GoToView2" }, new { name2 = ".*/?" }); routes.MapRoute("product

我想要两条路线,例如:

尾随斜杠是唯一的区别

在第一种情况下,我想显示关于产品的信息,在另一种情况下,我想显示关于类别的信息。“产品”和“类别”是某些产品或类别的名称

有可能实施吗

我的做法:

路线:

routes.MapRoute("category route", "{name2}", new { controller = "test", action = "GoToView2" }, new { name2 = ".*/?" });
routes.MapRoute("product route", "{name}", new { controller = "test", action = "GoToView1"});
控制器:

public class TestController : Controller
    {
        //
        // GET: /Test/
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult GoToView1(string name)
        {
            // call to db to get some information about product
            return View((object) name);
        }

        public ActionResult GoToView2(string name2)
        {
            // call to db to get some information about category
            return View((object)name2);
        }
    }
索引视图:

<br/>
<a href="@Url.Action("GoToView1", new { name = "Prouct"} )">Show proudct</a>
<br/>
<a href="@Url.Action("GoToView2", new { name2 = "Category" + "/"  } )">Show category</a>


<br/>
<a href="@Url.Action("GoToView1", new { name = "Prouct"} )">Show proudct</a>
<br/>
<a href="@Url.Action("GoToView2", new { name2 = "Category" + "/"  } )">Show category</a>
但我看到只有“GoToView2”被称为两个链接

有没有办法解决这个问题


谢谢,

为什么要这样做?在您的情况下,您必须使用完全不同的控制器,即
产品
类别
以及两种不同的操作,即使我们可以实现相同的URL以基于斜杠调用不同的操作,这也将是一种代码气味(糟糕的设计),在您的情况下,您可以简单地调用
TestController/GoToView1
TestController/GoToView2
,如果不是这样,请准确地告诉我们您试图解决的问题,也许会有更好的方法