簡體   English   中英

ASP.NET-輸入字符串的格式不正確

[英]ASP.NET - Input string was not in a correct format

我在嘗試獲取,乘以並顯示存儲在Cookie中的數據時收到錯誤消息,指出輸入字符串的格式不正確。 它說total = total + (Convert.ToInt32(a[2].ToString()) * Convert.ToInt32(a[3].ToString()));的一部分中有錯誤total = total + (Convert.ToInt32(a[2].ToString()) * Convert.ToInt32(a[3].ToString())); 請有人幫我。 這是我的代碼:

protected void Page_Init(object sender, EventArgs e)
{
    DataTable dt = new DataTable();
    dt.Columns.AddRange(new DataColumn[7] { new DataColumn("product_name"), new DataColumn("product_desc"), new DataColumn("product_price"), new DataColumn("product_qty"), new DataColumn("product_images"), new DataColumn("id"), new DataColumn("product_id") });

    if (Request.Cookies["aa"] != null)
    {
        s = Convert.ToString(Request.Cookies["aa"].Value);

        string[] strArr = s.Split('|');

        for (int i = 0; i < strArr.Length; i++)
        {
            t = Convert.ToString(strArr[i].ToString());
            string[] strArr1 = t.Split(',');

            for (int j = 0; j < strArr1.Length; j++)
            {
                a[j] = strArr1[j].ToString();
            }`enter code here`
            dt.Rows.Add(a[0].ToString(), a[1].ToString(), a[2].ToString(), a[3].ToString(), a[4].ToString(), i.ToString(), a[5].ToString());



            total = total + (Convert.ToInt32(a[2].ToString()) * Convert.ToInt32(a[3].ToString()));
            totalcount = totalcount + 1;

            cart_items.Text = totalcount.ToString();
            cart_price.Text = total.ToString();
        }
    }

如果您要轉換表單字符串,建議您使用int.TryParse(...)。 可能是這樣的:

int var2, var3 = 0;
if(int.TryParse(a[2].ToString(), out var2) 
 && int.TryParse(a[3].ToString(), out var3))
{
     total += (var2 * var3);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM