我在a.aspx里有个ID=T1 的textbox控件,在TEXTBOX输入值后
为何和我在其TEXTCHANGED是事件里取到的值总是为空
我已设置enableviewstate=true

解决方案 »

  1.   

    TextBox的值跟ViewState无关,这TextBox是动态产生的么?你有没有在其他地方设置了它的初始值,把其他相关的编码贴处理
      

  2.   

    TEXTBOX不是动态产生的,但我在ASPX 页面上有个用户控件U ,
    控件里有public formobj as system.web.ui.page,
    然后在ASPX的PAGELOAD 里 
    u.formobj=me.page在u里有函数
    dim T as textbox=forobj.findcontrol("T1")
    IF TYPEOF(t) is textbox then
       dim str=string=t.text
    '断点后显示t.text=""
    '但可以给t付值,如t.text="casd" 则页面可以显示t的textend if
      

  3.   

    aspx页面
        Protected FormStyle1 As FormStyle
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            FormStyle1.FormObj = sender
        End Subformstyle1为usercontrol,ascx里
            If Not Page.IsPostBack Then
                dim t as textbox
                t = FormObj.Controls(0).FindControl("textbox_catalogname")
                t.text="abc"
    '到页面后显示t.text为"abc",在页面输入"efg"后提交
            Else
                dimt t as textbox
                t = FormObj.Controls(0).FindControl("textbox_catalogname")
                dim str as string=t.text
    '此时t.text的值为""
            End If
      

  4.   

    后面这端编码是在什么时候执行的?ASPX里的东西呢?假如这么做呢?            dimt t as textbox
                t = Page.FindControl("textbox_catalogname")
                dim str as string=t.text?
      

  5.   

    对不起,确切代码因该为aspx页面
        Protected FormStyle1 As FormStyle
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            FormStyle1.FormObj = sender
        End Subformstyle1为usercontrol,ascx里
            If Not Page.IsPostBack Then
                dim t as textbox
                t = FormObj.Controls(0).FindControl("textbox_catalogname")
                dim ds as new dataset
    '获取ds
                t.text=ds.table(0).rows(0).item("name")
    '到页面后显示t.text为"abc",在页面输入"efg"后提交
            Else
                dimt t as textbox
                t = FormObj.Controls(0).FindControl("textbox_catalogname")
                ds.tables(0).rows(0).item("name")=t.text
    '此时t.text的值为""
    ''而且很奇怪,此时检查后台数据库的NAME值已为"",而我并没有用update,或显式修改数据库
            End If