谁能帮我解释一下foreach里的这几句代码的意思?不太理解e.CommandArgument

protectedvoidDataList1_ItemCommand(objectsource,DataListCommandEventArgse){if(e.Comma... protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "addToCart")
{
DataTable dt;

if (Session["gwc"] == null)
{
dt = new DataTable();

//int[] arr = new int[] { 1, 2, 3, 4 };
dt.Columns.AddRange(new DataColumn[] { new DataColumn("产品id"),new DataColumn("产品名称"),new DataColumn("单价"), new DataColumn("数量") });

}
else
{
dt = (DataTable)Session["gwc"];
}

bool flag = false;
foreach (DataRow dr in dt.Rows)
{
if (e.CommandArgument.ToString() == dr["产品id"].ToString())
{
dr["数量"] = int.Parse(dr["数量"].ToString()) + int.Parse(((DropDownList)e.Item.FindControl("listAmount")).SelectedValue);
flag = true;
break;
}
}

if (!flag)
{
DataRow dr = dt.NewRow();

dr["产品id"] = e.CommandArgument;

dr["产品名称"] = ((Label)e.Item.FindControl("Label1")).Text;

dr["单价"] = ((Label)e.Item.FindControl("Label5")).Text;

dr["数量"] = ((DropDownList)e.Item.FindControl("listAmount")).SelectedValue;

//dr["单价"] = DataBinder.Eval(e.Item.DataItem, "单价").ToString();
dt.Rows.Add(dr);
}

dt.AcceptChanges();

Session["gwc"] = dt;

Response.Redirect("showCart.aspx");

}
展开
 我来答
dokuro_s1
2012-03-01 · TA获得超过167个赞
知道小有建树答主
回答量:118
采纳率:100%
帮助的人:73.8万
展开全部
不就是个string么。。。。
dt.Rows里的东西的dr["产品id"].toString()有没有和e.CommandArgument.ToString()一样的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式