ASP.Net Routing - 集合被修改枚举操作可能无法执行

时间:2015-06-24 06:45:35

标签: asp.net asp.net-routing

我在网站上随机出现错误,如下图所示。

enter image description here

我只使用for循环将Route添加到RouteTable,并在更改Route集合之前有清除路径。

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

我无法弄清楚为什么会发生此错误。任何人都知道为什么这会发生在路由?

1 个答案:

答案 0 :(得分:0)

您正试图在foreach迭代期间更改(添加 - 删除项目)一个集合,这就是您收到此消息的原因。

您可以使用列表,然后通过此处添加 - 删除项目。