日期:2014-05-18  浏览次数:20407 次

是高手请进来看看,棘手问题!!!
private   void   UpdateBind()
        {
                for   (int   i   =   0;   i   <   this.SearchListDg1.Items.Count;   i++)
                {
                        TextBox   tbQty;

                        tbQty   =   (TextBox)SearchListDg1.Items[i].Cells[0].FindControl( "currentInventory ");
                     
                       
                        if   (tbQty.Text   !=   null)
                        {
                                ......
                        }
                }
        }

textbox   是datagrid摸半列中的文本框,没有默认值,是手动添加然后判断textbox不为空就更新库,但是   tbQty.Text   的值取不到,好郁闷


------解决方案--------------------
(TextBox)SearchListDg1.Items[i].Cells[0].FindControl( "currentInventory ").Text
有值吗?怀疑你那地方就没值
------解决方案--------------------
datagrid的数据绑定需放在Page_Load的!IsPostBack里,否则回发后,你填的数据会丢失,因为数据又绑定了一次
------解决方案--------------------
tbQty.Text != null 换成 tbQty.Text != String.Empty
调试下程序,看TextBox有没有找到....
------解决方案--------------------
别的代码都没有错的话
判断一下
if(SearchListDg1.Items[i] ==ListItemType.AlternatingItem || SearchListDg1.Items[i]== ListItemType.Item)
{
TextBox tbQty;

tbQty = (TextBox)SearchListDg1.Items[i].Cells[0].FindControl( "currentInventory ");


if (tbQty.Text != null)
{
......
}

}