具体来说,我在页面上加了一个datagrid控件,用于显示购物车中的项目,控件中的itemtemplate我放入textbox(用于输入订货数量),另外一列我放入一个checkbox(用于删除表中的项目) 问题是: 如果要更新订购数量,我得不到textbox中输入的值,不知道为什么。 我得代码是:
for(int i =0; i <MyList.Items.Count;i++)
{
TextBox qtytxt = (TextBox)MyList.Items[i].Cells[3].FindControl("Quantity");
CheckBox remove = (CheckBox)MyList.Items[i].Cells[6].FindControl("Remove");
//string a= qtytxt.Text;
int quantity;
try
{
quantity = Int32.Parse(qtytxt.Text);
if(quantity!=(int)MyList.DataKeys[i] || remove.Checked ==true)
{
Label lblProductID = (Label)MyList.Items[i].Cells[0].FindControl("ProductID");
if(quantity == 0 || remove.Checked == true)
{
cart.RemoveItem(cartId, Int32.Parse(lblProductID.Text));
}
else
{
cart.UpdateItem(cartId, Int32.Parse(lblProductID.Text), quantity);
}
}
}
catch (System.Exception ex)
{
Response.Write(" <Script Language=JavaScript>alert(\"您输入的数据有错误!\") </Script>");
}
} 这段代码没有语法错误,请大虾给予指点!!谢谢!!急
for(int i =0; i <MyList.Items.Count;i++)
{
TextBox qtytxt = (TextBox)MyList.Items[i].Cells[3].FindControl("Quantity");
CheckBox remove = (CheckBox)MyList.Items[i].Cells[6].FindControl("Remove");
//string a= qtytxt.Text;
int quantity;
try
{
quantity = Int32.Parse(qtytxt.Text);
if(quantity!=(int)MyList.DataKeys[i] || remove.Checked ==true)
{
Label lblProductID = (Label)MyList.Items[i].Cells[0].FindControl("ProductID");
if(quantity == 0 || remove.Checked == true)
{
cart.RemoveItem(cartId, Int32.Parse(lblProductID.Text));
}
else
{
cart.UpdateItem(cartId, Int32.Parse(lblProductID.Text), quantity);
}
}
}
catch (System.Exception ex)
{
Response.Write(" <Script Language=JavaScript>alert(\"您输入的数据有错误!\") </Script>");
}
} 这段代码没有语法错误,请大虾给予指点!!谢谢!!急
解决方案 »
- asp.net 怎么接收PHP发过来的XML POST方法
- 怎样获得满足条件的数据记录数目
- 请问在表的同一个单元格中 放了一个textbox 一个DIV 当鼠标移动到textbox中层就会显示出来 但是不会影响到表格的大小呢?
- button快捷键急
- 自定义控件的动态付值问题
- asp.net工程中类的使用
- 请教高手datagrid中的checkBox选中后在后台的checkbox.checked却是false
- vs2005+mapxstreme2008 mapcontrol控件刷新问题?
- 为什么我的显示结果总是"-1"呀?
- 做web程序最头疼的问题
- asp.net ajax打分
- 如何给在Datalist中的Dropdownlist添加项?
if(this.IsPostBack)
return;
TextBox qtytxt = (TextBox)MyList.Items[i].FindControl("Quantity");
CheckBox remove = (CheckBox)MyList.Items[i].FindControl("Remove"); 你直接找试试..不用Cell[n]这种形式
for(int i =0; i <MyList.Items.Count;i++)
{
TextBox qtytxt = (TextBox)MyList.Items[i].FindControl("Quantity");
CheckBox remove = (CheckBox)MyList.Items[i].FindControl("Remove");
//string a= qtytxt.Text;
int quantity;
try
{
quantity = Int32.Parse(qtytxt.Text);
if(quantity!=(int)MyList.DataKeys[i] || remove.Checked ==true)
{
Label lblProductID = (Label)MyList.Items[i].FindControl("ProductID");
if(quantity == 0 || remove.Checked == true)
{
cart.RemoveItem(cartId, Int32.Parse(lblProductID.Text));
}
else
{
cart.UpdateItem(cartId, Int32.Parse(lblProductID.Text), quantity);
}
}
}
catch (System.Exception ex)
{
Response.Write(" <Script Language=JavaScript>alert(\"您输入的数据有错误!\") </Script>");
}
}