我在aspx.cs文件中的Page_Lode函数里用代码创建了一个TextBox和一个Button,
然后想添加事件处理函数,在处理函数里获取TextBox的文本然后存到数据库里。
而且TextBox已经添加runat="server"属性了,但是在Button的Click函数里无法调用这个TextBox,没有这个成员。
请问该怎么做...求大神...
代码如下:
Page_Load函数中有关这部分的代码如下:            TextBox ResponseDialog = new TextBox();
            ResponseDialog.Width = 553;
            ResponseDialog.Attributes.Add("runat", "server");
            PostResponseDialog.Controls.Add(ResponseDialog);            Button ResponseButton = new Button();
            ResponseButton.Text = "評論";
            ResponseButton.ID = "ResponseButton" + id;
            ResponseButton.Attributes.Add("runat", "server");
            PostResponseDialog.Controls.Add(ResponseButton);
            ResponseButton.Click+=new EventHandler(ResponseButton_Click);
这是Click函数,无法获取成员变量    public void ResponseButton_Click(object sender, EventArgs e)
    {
        
    }
buttonasp.nettextboxobject

解决方案 »

  1.   

    TextBox tb = FindControl("textboxid") as TextBox;
    ...
      

  2.   

    为什么会提示我 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例?
    tb没有实例化吗?
      

  3.   


        public void ResponseButton_Click(object sender, EventArgs e)
        {
            TextBox tb = FindControl("ContentPlaceHolder1_ResponseDialog1") as TextBox;
            tb.Text = "haha";
        }用这样的代码测试就会出现那样的错误,并且显示错误行为:
    tb.Text = "haha";
    求解答
      

  4.   

    这东西是ContentPlaceHolder,不是TextBox。
      

  5.   

    不是啊,我打开网页之后查看的那个textbox的id就叫ContentPlaceHolder1_ResponseDialog1啊
    而且就算改成之前设定的id,ResponseDialog1也是一样的结果
    真是很郁闷
      

  6.   

    而且Button和TextBox都是放在母版里的ContentPlaceHolder1中的,总是找不到控件,
    产生异常 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。