Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/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# 如何从路由表中删除路由_C#_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 如何从路由表中删除路由

C# 如何从路由表中删除路由,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我正在尝试从路由表中删除路由。我的代码是: var pages = from v in db.tblCmsPages where v.IsActive select v.PageUrlName; foreach (string row in pages) { routes.MapRoute( name: "mypages_"+row, url: row, defaults: new { controller = "MyPages", act

我正在尝试从路由表中删除路由。我的代码是:

var pages = from v in db.tblCmsPages where v.IsActive select v.PageUrlName;
foreach (string row in pages)
{
       routes.MapRoute(
       name: "mypages_"+row,
       url: row,
       defaults: new { controller = "MyPages", action = "en" },
       namespaces: new[] { "MGP_RealState.Controllers" }
       );
}
这是我的路线收藏。我只想从此集合中删除一个特定路由。 我尝试使用linq选择特定的路由,就像

var myrouter = from v in System.Web.Routing.RouteTable.Routes where v.? select v
不起作用

System.Web.Routing.RouteTable.Routes.Remove(?);

我们只需要创建一个路由对象

//Create the object of particular router
var rr = new System.Web.Routing.Route(tblcmspage.PageUrlName, new MvcRouteHandler())
            {
                Defaults = new System.Web.Routing.RouteValueDictionary(new { controller = "MyPages", action = "en" }),
                DataTokens = new System.Web.Routing.RouteValueDictionary(new { namespaces = new[] { "MGP_RealState.Controllers" } })
            };

//delete the router                
System.Web.Routing.RouteTable.Routes.Remove(rr);

“不工作”不是问题的很好解释。。。另外,您实际上并没有显示与删除相关的代码(与您显示的建筑管线代码相比)。请试着澄清你尝试了什么。否则,它可能会复制类似的东西。有一个路由器集合。我只想通过使用和过滤器从集合中删除和路由器。我试着用linq过滤,但不起作用。有没有办法过滤和去除。