在2005下,动态创建了一个TEXTBOX控件,在客户端提交之后,TEXTBOX.TEXT="".要怎样做才能在客户端提交之后把TEXTBOX.TEXT的值取出来?
在2003下,可以在PAGE_INIT方法中创建控件,但2005下,PAGE_INIT方法默认的已经没的了.要怎么改才行?我在2003下的程序直接升级到2005下,所有的动态创建的控件在提交之后都取不到值了,头痛呀.哪位仁兄能帮帮忙?

解决方案 »

  1.   

    可以得到阿<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">  protected void Button1_Click( object sender, EventArgs e )
      {
        Response.Write(Request.Form["a"]);
      }  protected void Page_Init( object sender, EventArgs e )
      {
        TextBox t = new TextBox();
        t.ID = "a";
        form1.Controls.Add(t);
      }
    </script><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title>无标题页</title>
    </head>
    <body>
      <form id="form1" runat="server">
        <div>
          <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
      </form>
    </body>
    </html>
    PAGE_INIT方法可以加的
      

  2.   

    我是在PAGE_ONLOAD方法中用
    if not page.ispostbakc thenend If
    取不到值
      

  3.   

    按钮提交是ispostback,你怎么在not IsPostBack里面取阿?
    反了
      

  4.   

    <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">
      protected void Page_Init( object sender, EventArgs e )
      {
        TextBox t = new TextBox();
        t.ID = "a";
        form1.Controls.AddAt(0, t);
      }  protected void Page_Load( object sender, EventArgs e )
      {
        if (Page.IsPostBack)
        {
          Response.Write(Request.Form["a"]);
        }  }
    </script><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title>无标题页</title>
    </head>
    <body>
      <form id="form1" runat="server">
        <asp:Button ID="Button1" runat="server" Text="Button" />
      </form>
    </body>
    </html>
      

  5.   


    帮忙给顶一下吧
    http://community.csdn.net/Expert/TopicView3.asp?id=5344601
      

  6.   

    晕,在2003中不用写form1.Controls.AddAt(0, t);这句也行的.下午再调一下程序看看还有什么问题.再结贴
      

  7.   

    form1.Controls.AddAt(0, t);
    form1.Controls.Add(t);
    是2个方法,前面的例子里都有使用。只是AddAt可以定位
      

  8.   

    问题找到了,原来是我把textbox.ReadOnly=True之后,在客户端所做的改动都不传回到服务器来.
    但是在2003上是可以的,不懂为什么到2005上会不行了
      

  9.   

    学习中... 欢迎加入ASP.NET(C#)学习交流QQ群号:32801051
      

  10.   

    顺便问一下,加了控件要是我想加点属性要怎么弄?比如加个textbox的id