【问题标题】:Cannot operate on variables of type 'int' because 'int' does not contain public definition for 'GetEnumerator'无法对“int”类型的变量进行操作,因为“int”不包含“GetEnumerator”的公共定义
【发布时间】:2012-09-27 18:54:04
【问题描述】:

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

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

但我不确定它是否会在 id 中作为字符串传递给数据库。(我的数据库中的属性是 int 所以我猜这就是我的存储过程不起作用的原因。)我正在尝试像这样将循环迭代为 int :

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

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

【问题讨论】:

标签: c# asp.net stored-procedures


【解决方案1】:

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

类似:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2017-03-08
    相关资源
    最近更新 更多