我正在开发一个机密网站,其中包含“electronics / mobiles / samsung / samsungS3 / adTitle”等链接。如何在asp.net中创建类似的视图层次结构。如果答案是HMVC,那么请参考一些包含完整指南如何实施HMVC的链接。
答案 0 :(得分:3)
您不需要视图层次结构,您应该使用Route Config来获取基于URL的View。
答案 1 :(得分:1)
您不需要在此层次结构中创建视图,但您需要以这种方式创建URL,这称为友好URL。
请看下面的堆栈溢出问题 How can I create a friendly URL in ASP.NET MVC?和Friendly URL
您将定义另一条路线,该路线将以您的单一操作方法结束。所以你将在routeConfig.cs中添加一个路由,如下所示
routes.MapRoute(
name: "custom",
url: "{category}/{type}/{manufacturer}/{version}/{Title}",
defaults: new { controller = "Home", action = "customRoute"}
);
并且您的自定义操作将以param的形式传入所有值,如下所示
public string customRoute(string category, string type, string manufacturer, string version, string Title)
{
return category + type + manufacturer + version + Title;
}
您也可以使用基于操作的路由实现相同的
// eg: electronics/mobiles/samsung/samsungS3/adTitle
[Route("{category}/{type}/{manufacturer}/{Title}")]
public ActionResult Index(string cateogry, string type,string manfacture, string Title) { ... }