先说明环境是:asp.net下C# 我现在是做个购物车,运行时我想在购物车输入数值,然后更新到数据库,代码是这样的:private void Button1_Click(object sender, System.EventArgs e)
{
if(Request.Cookies["username"]!=null)
{
allclass.ShoppingCart cart=new DigitalShop.allclass.ShoppingCart();
for(int i=0;i<DataGrid1.Items.Count;i++)
{
TextBox quantityTxt=(TextBox)DataGrid1.Items[i].FindControl("Quantity");

Label labelproductId=(Label) DataGrid1.Items[i].FindControl("pid");
int quantity;
quantity=Int32.Parse(quantityTxt.Text);

Label1.Text=quantityTxt.Text.ToString();
但是不管你输入什么数,Label1显示的也是初始值,并不是输入值,也没有报错,请问是什么原因???(TextBox quantityTxt=(TextBox)DataGrid1.Items[i].FindControl("Quantity");)这一句代码能否读取DataGrid的单元格的内容??下面是购物车的html代码:<asp:datagrid id="DataGrid1" runat="server" Width="568px" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="商品偏号">
<ItemTemplate>
<asp:Label id="pid" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ProductId") %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="数量">
<ItemTemplate>
<asp:TextBox id="Quantity" runat="server" Columns="4" MaxLength="3" Text='<%# DataBinder.Eval(Container.DataItem, "Quantity") %>' width="40px" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:ButtonColumn Text="删除商品" HeaderText="操作" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:datagrid>