无法对'int'类型的变量进行操作,因为'int'不包含'GetEnumerator'的公共定义

时间:2012-09-27 18:54:04

标签: c# asp.net stored-procedures

我正在尝试遍历已通过javascript填充fileID的隐藏字段。我试过这样的话:

foreach(string exhibit in hidExhibitsIDs.Value.Split(','))
{
    comLinkExhibitToTask.Parameters.AddWithValue("@ExhibitID", exhibit);
}

但是我不确定它是否会在id中作为db的字符串。(我的数据库中的属性是int所以我猜这就是为什么我的存储过程无效。)我正在尝试像这样迭代循环:

foreach (int exhibit in hidExhibitsIDs.Value)
{
    comLinkExhibitToTask.Parameters.AddWithValue("@ExhibitID", exhibit);
}

我尝试过int.Parse(hidExhibitID's.Value)等,但它给了我上面的错误。

1 个答案:

答案 0 :(得分:4)

你的foreach循环不会奇怪地将逗号分隔的数字列表强制转换为整数枚举。在使用Split() String方法之前,您处于正确的轨道上。但是,您需要使用Convert.ToInt32()将每个值转换为整数。

类似的东西:

foreach(string exhibit in hidExhibitsIDs.Value.Split(','))
{
   comLinkExhibitToTask.Parameters.AddWithValue("@ExhibitID", Convert.ToInt32(exhibit));
}