C# 无法对类型为';int';因为';int';不包含对';GetEnumerator';

C# 无法对类型为';int';因为';int';不包含对';GetEnumerator';,c#,asp.net,stored-procedures,C#,Asp.net,Stored Procedures,我试图遍历一个hiddenfield,该字段由javascript填充了fileID。我试过这样做: foreach(string exhibit in hidExhibitsIDs.Value.Split(',')) { comLinkExhibitToTask.Parameters.AddWithValue("@ExhibitID", exhibit); } foreach (int exhibit in hidExhibitsIDs.Value) { comLinkExh

我试图遍历一个hiddenfield,该字段由javascript填充了fileID。我试过这样做:

foreach(string exhibit in hidExhibitsIDs.Value.Split(','))
{
    comLinkExhibitToTask.Parameters.AddWithValue("@ExhibitID", exhibit);
}
foreach (int exhibit in hidExhibitsIDs.Value)
{
    comLinkExhibitToTask.Parameters.AddWithValue("@ExhibitID", exhibit);
}
但是我不确定它是否会在id中以字符串的形式出现在db中。(我的db中的属性是int,所以我猜这就是我的存储过程无法工作的原因。)我正在尝试以int的形式迭代循环,如下所示:

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

我试过做
int.Parse(hidexpaid.Value)
等,但它给了我上面的错误。

您的
foreach
循环不会将逗号分隔的数字列表神奇地转换为整数枚举。在使用
String
Split()
方法之前,您的思路是正确的。但是,随后需要使用
convert.ToInt32()
将每个值转换为整数

比如:

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

您的
foreach
循环不会将逗号分隔的数字列表神奇地转换为整数枚举。在使用
String
Split()
方法之前,您的思路是正确的。但是,随后需要使用
convert.ToInt32()
将每个值转换为整数

比如:

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