如何在asp.net MVC中创建页面层次结构

时间:2015-07-12 12:28:19

标签: asp.net-mvc

我正在开发一个机密网站,其中包含“electronics / mobiles / samsung / samsungS3 / adTitle”等链接。如何在asp.net中创建类似的视图层次结构。如果答案是HMVC,那么请参考一些包含完整指南如何实施HMVC的链接。

2 个答案:

答案 0 :(得分:3)

您不需要视图层次结构,您应该使用Route Config来获取基于URL的View。

从4版本的MVC中,areas不仅具有控件和默认情况下的View。请检查此tutorial以了解如何自定义路由。

答案 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) { ... }