Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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

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
C# 路由到具有相同结构的地址_C#_Asp.net Mvc_Routes - Fatal编程技术网

C# 路由到具有相同结构的地址

C# 路由到具有相同结构的地址,c#,asp.net-mvc,routes,C#,Asp.net Mvc,Routes,我是MVC和web开发的新手,我有以下途径: //"/display/flight1/4" - upload frm flight1 file, show as animation(4 times in a sec), show end alert routes.MapRoute( name: "uploadPlaneData", url: "display/{fileName}/{times}",

我是MVC和web开发的新手,我有以下途径:

        //"/display/flight1/4" - upload frm flight1 file, show as animation(4 times in a sec), show end alert
        routes.MapRoute(
            name: "uploadPlaneData",
            url: "display/{fileName}/{times}",
            defaults: new { controller = "Display", action = "UploadPlaneData", fileName = "flight1", times = 4 }
        );

        //"/display/127.0.0.1/5400" - check plane place(port 5400 ip 127.0.0.1)(lat, lon) and show a plane icon on the map
        routes.MapRoute(
            name: "showPlaneIcon",
            url: "display/{ip}/{port}",
            defaults: new { controller = "Display", action = "ShowPlaneIcon", ip = "127.0.0.1", port = 5402 }
        );

问题是,如果我试图导航到第二页,它会显示第一页。我把第二个放在代码第一个上面,然后导航到顶部,我的问题是如何导航到
/display/127.0.0.1/5400
/display/flight1/4

两条路径中的属性可以尝试使用
正则表达式。例如:

routes.MapRoute(
    name: "uploadPlaneData",
    url: "display/{fileName}/{times}",
    defaults: new { controller = "Display", action = "UploadPlaneData", fileName = "flight1", times = 4 },
    constraints: new { fileName = @"\w+", times = @"\d+" }
);

routes.MapRoute(
    name: "showPlaneIcon",
    url: "display/{ip}/{port}",
    defaults: new { controller = "Display", action = "ShowPlaneIcon", ip = "127.0.0.1", port = 5402 },
    constraints: new { ip = @"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b", port = @"\d+" }
);

很抱歉不能给出一个好的答案。我通常使用属性路由,所以我对MVC路由不是很熟悉。我错误地假设它是相同的。@John我做了与您提供的链接相同的操作(我在两条路径中都添加了regex),现在它可以工作了,谢谢您的帮助如果您添加答案,我将向上投票:)