是高手请进来看看,棘手问题!!!
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)
{
......
}
}