Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在asp.net MVC中创建页面层次结构_Asp.net Mvc - Fatal编程技术网

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

Asp.net mvc 如何在asp.net MVC中创建页面层次结构,asp.net-mvc,Asp.net Mvc,我正在一个分类网站上工作,该网站将有“电子/手机/三星/三星3/adTitle”等链接。如何创建像asp.net中那样的视图层次结构。如果答案是HMVC,那么请参考一些包含如何实现HMVC的完整指南的链接。您不需要视图的层次结构,您应该使用它来获得基于URL的所需视图 从4版开始,MVC在默认情况下不仅具有控件和视图。因此,请检查此项以了解如何自定义路由。您不需要视图的层次结构,您应该使用它来获得基于URL的所需视图 从4版开始,MVC在默认情况下不仅具有控件和视图。因此,请检查此项以了解如何自

我正在一个分类网站上工作,该网站将有“电子/手机/三星/三星3/adTitle”等链接。如何创建像asp.net中那样的视图层次结构。如果答案是HMVC,那么请参考一些包含如何实现HMVC的完整指南的链接。

您不需要视图的层次结构,您应该使用它来获得基于URL的所需视图


从4版开始,MVC在默认情况下不仅具有控件和视图。因此,请检查此项以了解如何自定义路由。

您不需要视图的层次结构,您应该使用它来获得基于URL的所需视图


从4版开始,MVC在默认情况下不仅具有控件和视图。因此,请检查此项以了解如何自定义路由。

您不需要在此层次结构中创建视图,但需要以这种方式创建URL,这称为友好URL

看看下面的堆栈溢出问题 及


您将定义另一条路线,该路线将以您的单一操作方法结束。因此,您将在routeConfig.cs中添加一条路由,如下所示

 routes.MapRoute(
                name: "custom",
                url: "{category}/{type}/{manufacturer}/{version}/{Title}",
                defaults: new { controller = "Home", action = "customRoute"}
            );
public string customRoute(string category, string type, string manufacturer, string version, string Title)
{
    return category + type + manufacturer + version + Title;
}
您的自定义操作将所有值作为param传入,如下所示

 routes.MapRoute(
                name: "custom",
                url: "{category}/{type}/{manufacturer}/{version}/{Title}",
                defaults: new { controller = "Home", action = "customRoute"}
            );
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) { ... }

您不需要在此层次结构中创建视图,但需要以这种方式创建URL,这称为友好URL

看看下面的堆栈溢出问题 及


您将定义另一条路线,该路线将以您的单一操作方法结束。因此,您将在routeConfig.cs中添加一条路由,如下所示

 routes.MapRoute(
                name: "custom",
                url: "{category}/{type}/{manufacturer}/{version}/{Title}",
                defaults: new { controller = "Home", action = "customRoute"}
            );
public string customRoute(string category, string type, string manufacturer, string version, string Title)
{
    return category + type + manufacturer + version + Title;
}
您的自定义操作将所有值作为param传入,如下所示

 routes.MapRoute(
                name: "custom",
                url: "{category}/{type}/{manufacturer}/{version}/{Title}",
                defaults: new { controller = "Home", action = "customRoute"}
            );
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) { ... }

谢谢haseeb,但我不想创建友好的URL。每个链接都应该有单独的查询,比如如果链接以“mobiles”结尾,它将显示手机中的所有广告,如果链接以“samsung”结尾,它将显示三星的所有手机广告等等。使用这种方法,您也可以实现这一点。为每个移动制造商创建单独的文件夹是不可扩展的,因为您需要不时添加新的供应商。只有一个视图可以显示广告,但查询将不同。这是我想要的谢谢haseeb但我不想创建友好的URL。每个链接都应该有单独的查询,比如如果链接以“mobiles”结尾,它将显示手机中的所有广告,如果链接以“samsung”结尾,它将显示三星的所有手机广告等等。使用这种方法,您也可以实现这一点。为每个移动制造商创建单独的文件夹是不可扩展的,因为您需要不时添加新的供应商。只有一个视图可以显示广告,但查询将不同。这是我想要的谢谢,但我想要的是,每个链接都应该有单独的查询,比如如果链接以“手机”结尾,它将显示手机中的所有广告,如果它以“三星”结尾,它将显示三星的所有手机广告等等on@IrfanWattoo你说的是控制器参数,你可以在路由中使用它们,与默认示例中的
id=UrlParameter.Optional
类似,您可以创建类似于
brand=urlparmeter.可选的
,并在控制器中使用它,如param,帮助您显示正确的广告。只有一个视图可以显示所有类型的广告,但查询将是不同的谢谢,但我想要的是,每个链接都应该有单独的查询,如链接以“mobiles”结尾它将在手机上显示所有广告,如果以“三星”结尾,它将显示三星的所有手机广告等等on@IrfanWattoo您正在谈论控制器参数,并且可以在路由中使用它们,如默认示例中的
id=UrlParameter.Optional
,您可以制作类似于
brand=UrlParameter.可选的
,并在控制器中使用它,如param,帮助您显示正确的广告。只有一个视图可以显示所有类型的广告,但查询将不同