Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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 4 MVC路由错误_Asp.net Mvc 4_Asp.net Mvc Routing - Fatal编程技术网

Asp.net mvc 4 MVC路由错误

Asp.net mvc 4 MVC路由错误,asp.net-mvc-4,asp.net-mvc-routing,Asp.net Mvc 4,Asp.net Mvc Routing,我已定义自定义路线: routes.MapRoute( "FabricDetails", // Route name "fabric/details/{designerUrlFriendlyName}/{collectionUrlFriendlyName}/{fabricUrlFriendlyName}", // URL with parameters new { controller = "Fabric", action

我已定义自定义路线:

routes.MapRoute(
            "FabricDetails", // Route name
            "fabric/details/{designerUrlFriendlyName}/{collectionUrlFriendlyName}/{fabricUrlFriendlyName}", // URL with parameters
            new { controller = "Fabric", action = "Details", designerUrlFriendlyName = UrlParameter.Optional, collectionUrlFriendlyName = UrlParameter.Optional, fabricUrlFriendlyName = UrlParameter.Optional }, // Parameter defaults
            new[] { "StashFabrics.Web.Controllers" }
        );
我有两个几乎相同的ActionLink,一个正在工作,另一个没有

@Html.ActionLink(fabric.FabricName, "Details", "Fabric", new RouteValueDictionary(new { designerUrlFriendlyName = fabric.DesignerUrlFriendlyName, collectionUrlFriendlyName = fabric.CollectionUrlFriendlyName, fabricUrlFriendlyName = fabric.FabricUrlFriendlyName }), null)
@Html.ActionLink(fabric.FabricName, "Details", "Fabric", new RouteValueDictionary(new { designerUrlFriendlyName = fabric.DesignerUrlFriendlyName, collectionUrlFriendlyName = "grand_hotel", fabricUrlFriendlyName = fabric.FabricUrlFriendlyName }), null)
无论出于何种原因,只要我替换collectionUrlFriendlyName的硬编码值,链接就无法正确构建

http://localhost:55089/Fabric/Details?designerUrlFriendlyName=jenean_morrison&collectionUrlFriendlyName=grand_hotel&fabricUrlFriendlyName=ballroom_in_azure
http://localhost:55089/fabric/details/jenean_morrison/grand_hotel/ballroom_in_azure

这把我难住了。任何建议都将不胜感激。

好吧,我想出来了

在视图的模型中,我在两个不同的级别定义了collectionUrlFriendlyName;首先是模型本身,然后是模型有列表的类

我没有在列表级别定义collectionUrlFriendlyName的值,URL就是在列表级别形成的。但我猜在构建URL时,它会在较高级别找到值,并使用它来形成丑陋的URL(从而隐藏了在较低级别上没有填充的问题)

如果说得通的话