-1

大家好,我正在研究mvc4,我在这里遇到一些问题,一旦我得到我存储在数组中的值,比如'String []',我正在从那个iam movint这些值到我的数据库表,但我是总是只有一个问题'输入字符串格式不正确'任何人都可以帮助我吗?

这里我的代码如下:'

string[] BundleItemID = form.GetValues("txtbundleid");

for (int i = 0; i < skuid.Length; i++)
{
    ProductBundleItem productbundleitem = new ProductBundleItem();
    if (!string.IsNullOrEmpty(BundleItemID[i]))
    {
        productbundleitem.BundleItemId = Convert.ToInt64(BundleItemID[i]);
    }
}

当我尝试将值从“Convert.ToInt64(BundleItemID[i])”移动到“BundleItemId”时,我收到错误“输入字符串格式不正确”提前谢谢

4

2 回答 2

1

您应该使用 long.TryParse 来检查是否可以进行转换,如下所示:

long val;
if (long.TryParse(BundleItemID[i], out val)
    productbundleitem.BundleItemId = val;
else
    // handle situation when BundleItemID[i] is not a number somehow
于 2012-12-28T07:52:58.533 回答
1

添加了一个调试消息框,以便您找到错误。

   string[] BundleItemID = form.GetValues("txtbundleid");

    for (int i = 0; i < skuid.Length; i++)
    {
        ProductBundleItem productbundleitem = new ProductBundleItem();
        if (!string.IsNullOrEmpty(BundleItemID[i]))
        {
            long val = 0;
            if (!long.TryParse(BundleItemID[i], out val))
            {
                MessageBox.Show(string.Format("{0} is not a valid Int64 value", BundleItemID[i]));
                break;
            }
            productbundleitem.BundleItemId = val;
        }
    }
于 2012-12-28T07:58:13.813 回答