当前位置:编程学习 > C#/ASP.NET >>

string 类型转textbox 未将对象引用设置到对象的实例。找高手

ArrayList listname = new ArrayList();
            ArrayList listcertificate = new ArrayList();
            ArrayList listnum = new ArrayList();
            ArrayList listdropnum = new ArrayList();

            System.Web.UI.WebControls.TextBox[] txtName = new System.Web.UI.WebControls.TextBox[n];
            System.Web.UI.WebControls.TextBox[] txtNum = new System.Web.UI.WebControls.TextBox[n];
            System.Web.UI.WebControls.DropDownList[] DropCertificate = new System.Web.UI.WebControls.DropDownList[n];
            System.Web.UI.WebControls.DropDownList[] DropNum = new System.Web.UI.WebControls.DropDownList[n];
            for (int i = 1; i < n; i++)
            {


                string str1 = "txtName" + i.ToString();
                txtName[i] = new System.Web.UI.WebControls.TextBox();
                txtName[i].Text = ((System.Web.UI.WebControls.TextBox)Page.FindControl(str1)).Text; 
                listname.Add(txtName[i].Text.ToString());


                string str2 = "DropCertificate" + i.ToString();
                DropCertificate[i] = new System.Web.UI.WebControls.DropDownList();
                DropCertificate[i].SelectedValue= ((DropDownList)Page.FindControl(str2)).SelectedValue.ToString();
                listcertificate.Add(DropCertificate[i].SelectedValue.ToString());


                string str3 = "txtNum" + i.ToString();
                txtNum[i] = new System.Web.UI.WebControls.TextBox();
                txtNum[i].Text = ((System.Web.UI.WebControls.TextBox)Page.FindControl(str3)).Text; 
                listnum.Add(txtNum[i].Text.ToString());

                string str4 = "DropNum" + i.ToString();
                DropNum[i] = new System.Web.UI.WebControls.DropDownList();
                DropNum[i].SelectedValue = ((DropDownList)Page.FindControl(str4)).SelectedValue.ToString();
                listdropnum.Add(DropNum[i].SelectedValue.ToString());

                DBHelper.ExecuteCommand("insert into orderTable values('" + listname[i - 1].ToString() + "','" + listcertificate[i - 1].ToString() + "','" + listnum[i - 1].ToString() + "','" + listdropnum[i - 1].ToString() + "')");
            }  --------------------编程问答-------------------- 你都没添加到页面上怎么进行FindControl啊 --------------------编程问答-------------------- 页面上有 txtName1  txtName2 txtName3 txtName4 txtName5 --------------------编程问答-------------------- 没看懂啊 --------------------编程问答-------------------- 将这句:  txtName[i].Text = ((System.Web.UI.WebControls.TextBox)Page.FindControl(str1)).Text; 

改成:
TextBox tb=(System.Web.UI.WebControls.TextBox)Page.FindControl(str1);
txtName[i].Text=tb.Text;

看行不行 --------------------编程问答-------------------- 单步调试跟踪一下 --------------------编程问答-------------------- "未将对象引用设置到对象的实例"这个错误出现说明你调用的对象未实例化,可能只有定义,没有new,单步跟踪一下看是哪个对象 --------------------编程问答-------------------- 未将对象引用设置到对象的实例   调试也是报这个错txtName[i].Text=tb.Text 这句怎么也转不过去 --------------------编程问答-------------------- string str1 = "txtName" + i.ToString();
                txtName[i] = new System.Web.UI.WebControls.TextBox();

                System.Web.UI.WebControls.TextBox tb = new System.Web.UI.WebControls.TextBox();
                tb = (System.Web.UI.WebControls.TextBox)Page.FindControl(str1);
                txtName[i].Text = tb.Text;
                listname.Add(txtName[i].Text.ToString());


还是没用txtName[i].Text = tb.Text;这句怎么是报 未将对象引用设置到对象的实例
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,