先说明环境是: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>
{
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>
解决方案 »
- “context.CurrentNotification”引发了“System.PlatformNotSupportedException”类型的异常
- LOG4NET如何记录我们想要获取的日志信息?
- 200分求一个实例
- 当我安装了瑞星之后,.net 2003 不能运行了。求帮助
- 在线等---checkboxlist问题
- 用session做验证码问题请教~!
- socket的问题:您的主机中的软件放弃了一个已建立的连接
- 请问各位datagrid和datalist的删除确定对话框是怎样写的,特别是datalist,拜托(急)在线等
- 请教如何用C#将生成PDF文档?
- 急!现在想创建一个可选字体的下拉列表,可选字体集可以从哪里获取吗?谢谢
- 关于 asp.net 设计实施的问题 希望高手指点(有分赚)
- ASP.NET宜做财会系统吗?
我被这个问题足足困了一天,在调试时可以看到quantityTxt已经指到DataGrid1.Items[i].FindControl("Quantity");这个单元格了。但是quantityTxt的值还是初始值,而不是输入的值,
唉、、、、晕死,,请各位靓兄靓姐帮忙!!!