先说下情况:
本人做的一个管理系统,先有这么个功能——在DataGird的页脚部分有一行文本框,其中有一列叫定额编号,在这一列的TextBox旁有一链接,可以弹出一个窗体,在窗体中选择完后,返回主页,接受传回来的值,并把传回来的值赋给DataGrid页脚中TextBox中
if(Page.Request .QueryString ["Ld_bh"]==null && Page.Request .QueryString ["LD_num"]==null && Page.Request .QueryString ["LD_xh"]==null)
{}
else
{
ViewState["Ld_bh"]=Page.Request .QueryString ["Ld_bh"];
ViewState["LD_num"]=Page.Request .QueryString ["LD_num"];
ViewState["LD_xh"]=Page.Request .QueryString ["LD_xh"];
TextBox txtbh=(TextBox)this.DataGrid1.FindControl ("txtLDLftBH");
TextBox txtnum=(TextBox)this.DataGrid1.FindControl("txtLDLftTime");
txtbh.Text =ViewState["Ld_bh"].ToString ()+"("+ViewState["LD_xh"].ToString ()+")";  //错误行
txtnum.Text =ViewState["LD_num"].ToString ();
} 提示的错误是“未将对象应用到实例” 拜求各位大虾救急!!!  本人是在急用!!! 现送上100分 只要有帮助的帖子都有分。 本人在线等 

解决方案 »

  1.   

    是txtbh为空,还是ViewState["LD_xh"].为空?
      

  2.   

    应该是txtbh为空 因为我调试的时候 ViewState["LD_xh"]取到传回来的值了
      

  3.   

    应该是viewstate["ld_xh"]或者ViewState["Ld_bh"]为空,你可以先声明一个object类型的变量接收这两个viewstate,运行,看看这个 object是否为空
      

  4.   

    你这个并没有保证说每个Request.QueryString都不为空呀。。是不是应该判断一下?
      

  5.   

     为空,因为代码不全,所以也暂时不知道具体是哪个一般情况,  for example : A 为一个类A a as A = new A();检查下你new对象的时候, 有没有忘记  New   ()String aa;必须 实例化这个 之后再使用   
      

  6.   


    DataGrid d = new DataGrid();
            TextBox txtbh=(TextBox)this.DataGrid1.FindControl ("txtLDLftBH");
            TextBox txtnum=(TextBox)this.DataGrid1.FindControl("txtLDLftTime");
            foreach (DataGridItem item in d.Items)
            {
                if (item.ItemType == ListItemType.Footer)
                {
                    txtbh = (TextBox)item.FindControl("txtLDLftBH");
                    txtnum =(TextBox)item.FindControl("txtLDLftTime");
                }
            }
      

  7.   

    DataGrid d = new DataGrid();
            TextBox txtbh=new TextBox();
            TextBox txtnum=new TextBox();
            foreach (DataGridItem item in d.Items)
            {
                if (item.ItemType == ListItemType.Footer)
                {
                    txtbh = (TextBox)item.FindControl("txtLDLftBH");
                    txtnum =(TextBox)item.FindControl("txtLDLftTime");
                }
            }
      

  8.   

    我曾定义过一个变量接受Request.QueryString传回来的值  确定是接受到了 
    走到
    txtbh.Text =ViewState["Ld_bh"].ToString ()+"("+ViewState["LD_xh"].ToString ()+")";  
    就报错了
      

  9.   

    foreach (DataGridItem item in d.Items) 
            { 
                if (item.ItemType == ListItemType.Footer) 
                { 
                    txtbh = (TextBox)item.FindControl("txtLDLftBH"); 
                    txtnum =(TextBox)item.FindControl("txtLDLftTime"); 
                } 
            }调试了下 不走这个循环里阿 
      

  10.   

    txtbh = (TextBox)item.FindControl("txtLDLftBH"); 
    string strjs="赋值脚本";
    txtbh.attibutes.add("onclick",strJS);
      

  11.   

    你肯定先没绑定?d.Items.count肯定是没有值
      

  12.   

    我要赋值的textbox在datagrid的页脚中  怎么找到这个textbox阿  值读到了 但是在textbox中不显示值阿