大哥们,请帮帮忙,我有个问题想向大家请教一下我在page_load里面给dropdawnlist绑定的数据,在浏览的时候,根本不执行,只有点了别的button之后,才出现数据,为什么?
而且我在page_load里面设断点,也没什么作用,根本就没执行请问大家,这段代码我是不是应该换个地方写?或者怎么写?求求大家了,帮帮忙吧,我是初学者,什么都不懂,高手们见笑了

解决方案 »

  1.   

    if(!Page.IsPostBack)
    {
    //绑定代码
    }
      

  2.   

    页面初始化里面Page_Load的事件没有注册,检查有没有:
    this.Load += new System.EventHandler(this.Page_Load);
      

  3.   

    页面初始化里面Page_Load的事件没有注册,
    this.Load += new System.EventHandler(this.Page_Load);另外绑定的代码要写在
    if(!Page.IsPostBack)
    {
    //绑定代码
    }
      

  4.   

    不行啊,这样浏览的时候,里面出来的东西都是些system.data.datarowview,而不是我想要的东西,以前浏览的时候,一开始也是这个,但是点了button之后,就变成了我想要的东西了,我不知道为什么
      

  5.   

    我市用vb。net写的,没有你说的这个this.Load += new System.EventHandler(this.Page_Load);
    vb里该怎么写
      

  6.   

    把dropdawnlist的id属性改个值试试
      

  7.   

    属性栏里选那个小闪电 在page_load的下拉里选
      

  8.   

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '        '在此处放置初始化页的用户代码        Dim con As SqlConnection
            Dim ds As New DataSet
            Dim cmd As SqlCommand
            Dim sql As String
            If (Not IsPostBack) Then
                con = New SqlConnection("Data Source=JXS;UID=sa;PWD=;database=erp")            sql = "select syscolumns.name from syscolumns, sysobjects where syscolumns.id=sysobjects.id and sysobjects.name='rl_person_basic'order by syscolumns.colid"            cmd = New SqlCommand(sql, con)
                con.Open()            Dim adapter As SqlDataAdapter = New SqlDataAdapter(cmd)            adapter.Fill(ds)            searchtype.DataSource = ds.Tables(0)            searchtype.DataBind()
                searchtype.DataTextField = "name"
                'con.Close()
                adapter.Dispose()        End If    End Sub
      

  9.   

    if(!this.Page.IsPostBack) 看看写错了吗?
      

  10.   

    searchtype.DataTextField = "name"    
        searchtype.DataBind()
              
                'con.Close()
                adapter.Dispose()
      

  11.   

    如果你没有this.Load += new System.EventHandler(this.Page_Load);
    事件不是不会响应的,你最好在属性那栏的事件窗口上面看看又没有你的事件函数,如果按楼上的设置,应该不会有问题的
      

  12.   

    还是不对,如果不写ispostback,打开浏览的时候,dropdawnlist里面都是system.data.datarowview,但是点了下面的button之后,里面成了我想要的东西,就是一些字段名称
    可是写了ispostback之后,浏览就是system.data.datarowview,点别的也还是这个,根本没把我想要的东西放到里面阿
      

  13.   

    很有可能是你的dropList的控件的那个属性没有设置正确,比如说是Text的或者是要加Item什么的,你好好检查属性一下
      

  14.   

    上边的人反了,要一出来就有得把
    If (Not IsPostBack) Then
    和End if去了
      

  15.   

    searchtype.DataBind()
    searchtype.DataTextField = "name"这两句反过来写
      

  16.   

    好了,我又加了一个dropadawnlist.load()把这段代码由写了一遍,结果就好了,但是删掉其中的某一个都不行,必须要练歌都有才行,真是奇怪啊
      

  17.   

    检查一下属性,还有是!IsPostBack,有没有少写一个"!",再不行就写在这个控件的onload事件里面,一定能行的
      

  18.   

    呵呵,谢谢大家这么关心我,不过还有问题,就是本来从dropdawnlist里选好了一个item,可是一点确定,接着dropdawnlist又变成了第一个了,不是我所选的那个,该加个什么来指定时选的那个item呢?
      

  19.   

    我试过了,可是还是得page_load和dropdawnlist_load两个都写才行,现在问题是,只要一点别的东西,这个dropdawnlist里面的东西就变成了里面第一个,而不是我原来选的那个,为什么?
    应该怎么写?谢谢
      

  20.   

    searchtype.DataValueField = "*****"  '最好为ID之类的,它绑定一具值,不显示出来的
    searchtype.AutoPostBack=false;
    searchtype.DataTextField = "name"
    searchtype.DataBind()
      

  21.   

    谢谢大家,已经弄好了,是不是不光是page_load里面的绑定要写在ispostback里面?
    我把所有的绑定都写到里面,就好了