通过 jquery ajax 从购物车中删除项目



我正在通过Jquery ajax和Web服务从购物车中删除项目,但它没有删除。它返回"System.String[]"。

[WebMethod(EnableSession = true)]
public string ClearItem(string Img)
{
if (Session["Items"] != null)
{
string[] session_item_arr = Session["Items"].ToString().Split('|');
for (int i = 0; i < session_item_arr.Length; i++)
{
string[] key_arr = session_item_arr[i].Split(',');
foreach (string item in key_arr)
{
if (item == Img)
{           
session_item_arr = session_item_arr.Where(val => val != session_item_arr[i]).ToArray();
}
}
bool item_inedx = Array.Exists(session_item_arr, x => x == session_item_arr[i]);
if (item_inedx)
{
Session["Items"] = session_item_arr[i];
}
else
{
Session["Items"] = session_item_arr;
}
}
} 
return Session["Items"].ToString();
}

Session["Items"]会话是一个字符串数组- 而不是字符串

如此简单.ToString()不会将其转换为带有逗号分隔的字符串的行。您需要先转换它,然后再将其退回。

以此示例 C# 将字符串数组转换为字符串来更正最后一行Session["Items"].ToString();

所以先把它转换成字符串。

使用 String.Join 的一个快速解决方案是返回return string.Join("|", ((string[])Session["Items"]))但我不确定如何拆分您的项目

最新更新