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
,如果不是这样,请准确地告诉我们您试图解决的问题,也许会有更好的方法