我正在挑战找出动态定义基于分层的路线的最佳方法。
我希望实现类似于下面的数据库驱动链接:
/Illinois/
/Illinois/Chicago/
/Illinois/Chicago/Id
/California/
/California/Los-Angeles/
/California/Los-Angeles/Id
/New-York/
/New-York/New-York-City/
/New-York/New-York-City/Id
依此类推,我不想为每个州定义一个控制器,但如果它是“正确的方式”,我不会100%反对。
答案 0 :(得分:2)
您可以创建一个类似HomeController
的控制器,并使用此控制器顶部的路由属性和相关操作来隐藏路径网址,并在路线中调用您的位置和ID,如下所示:
[RoutePrefix("")]
public class HomeController : Controller
{
Route("{state?}/{city?}/{id?}")
public ActionResult Index(string state, string city, int id)
{
//your codes
return View();
}
}