Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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路由-集合已修改枚举操作可能无法执行_Asp.net_Asp.net Routing - Fatal编程技术网

ASP.Net路由-集合已修改枚举操作可能无法执行

ASP.Net路由-集合已修改枚举操作可能无法执行,asp.net,asp.net-routing,Asp.net,Asp.net Routing,我得到的错误随机在网站上根据下面的错误图像 我使用just for loop将路由添加到RouteTable,在更改路由集合之前,我已经清除了路由 RouteTable.Routes.Clear() For i As Integer = 0 To ds.Tables(0).Rows.Count - 1 RouteTable.Routes.MapPageRoute(Convert.ToString(ds.Tables(0).Rows(i)("routename")), Convert.T

我得到的错误随机在网站上根据下面的错误图像

我使用just for loop将路由添加到RouteTable,在更改路由集合之前,我已经清除了路由

RouteTable.Routes.Clear()
For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
     RouteTable.Routes.MapPageRoute(Convert.ToString(ds.Tables(0).Rows(i)("routename")), Convert.ToString(ds.Tables(0).Rows(i)("tm_RouteURL")), Convert.ToString(ds.Tables(0).Rows(i)("tm_PhysicalFile")), False, Nothing, Nothing, _
                         New RouteValueDictionary() From { _
                         {Convert.ToString(ds.Tables(0).Rows(i)("tm_ParameterName1")), Convert.ToString(ds.Tables(0).Rows(i)("tm_ParameterValue1"))} _
                        })
Next

我无法找出发生此错误的原因。有人知道为什么路由会发生这种情况吗?

您可能在foreach迭代期间尝试更改添加删除项集合,这就是为什么您会收到此消息


您可以改为使用列表并在其中添加删除项。

如果您在同一个表中进行迭代,则无法将路由添加到RouteTable。您不能更改集合。