C# 无法对类型为';int';因为';int';不包含对';GetEnumerator';
我试图遍历一个hiddenfield,该字段由javascript填充了fileID。我试过这样做: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
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));
}