Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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# 在ASP.NETC中路由多页#_C#_Asp.net_Routes_Url Routing_Asp.net Routing - Fatal编程技术网

C# 在ASP.NETC中路由多页#

C# 在ASP.NETC中路由多页#,c#,asp.net,routes,url-routing,asp.net-routing,C#,Asp.net,Routes,Url Routing,Asp.net Routing,我试图路由2页,但它只是路由第一个注册的唯一一个。代码如下: static void RegisterRoutes(RouteCollection routes) { routes.MapPageRoute("DynamicCity", "{dCity}.aspx", "~/DynamicCity.aspx"); routes.MapPageRoute("DynamicPage", "{Description}.aspx", "~/DynamicPage.aspx"); }

我试图路由2页,但它只是路由第一个注册的唯一一个。代码如下:

 static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("DynamicCity", "{dCity}.aspx", "~/DynamicCity.aspx");
    routes.MapPageRoute("DynamicPage", "{Description}.aspx", "~/DynamicPage.aspx");
}

为什么它的唯一路由动态性

当两条路由都具有相同形式的
{parameter}.aspx
时,路由系统应该如何知道两条路由之间的差异?不可能。由于路由是按顺序计算的,所以第一个路由具有优先级。

我不确定这是否对您有帮助,因为您没有指定URL方案。但是,如果您只想将
/DynamicCity.aspx
发送到
~/DynamicCity.aspx
页面,并将所有其他页面路由到它们自己的名称,您可以执行以下操作:

static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("Page", "{pageName}.aspx", "~/{pageName}.aspx");
}
但是,由于ASP.NET无论如何都会这样做,我不确定您对.NET路由的期望是什么

通常,人们使用
MapPageRoute
从URL中删除
.aspx
扩展名(如图所示)或完全更改URL

static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("Page", "{pageName}", "~/{pageName}.aspx");
}

看看其他的想法。

我不能选两个不同的站点吗?@Jamil我甚至不知道你所说的“2个不同的站点”是什么意思。我想我没有问过太多困难的问题。@Jamil是的,你问过。因为正如我在上一次评论中所说,我不知道你所说的“2号干线不同站点”是什么意思。简单地说这不是一个困难的问题并不能解释你的意思。你需要明确说明你想要完成什么。