在下拉表框中选择了一个值,在textbox中输入一些数据,点击页面一个按钮时,下拉表框的值发生了改变,textbox的数据也被清空了,请问怎么样才能,点击按钮后,页面显示的值还是点击前输入的值。。按钮没有写代码。下拉表框的代码写在RowDataBound事件中。
 If (e.Row.RowType = ListItemType.AlternatingItem) Or (e.Row.RowType = ListItemType.Item) Then
            Dim dselprice As DropDownList
            dselprice = CType(e.Row.FindControl("Dselpriece"), DropDownList)
            Dim conn As New OracleClient.OracleConnection(BrlrOrderBill.connstr3)
            Dim sqlstr As String = "select fnumber,fname_l2 from ct_bas_priceex"
            Dim ds As DataTable
            ds = ioPublic.OracleData.ExecuteDataset(conn, CommandType.Text, sqlstr).Tables(0)
            dselprice.DataSource = ds
            dselprice.DataTextField = "fname_l2"
            dselprice.DataValueField = "fnumber"
            dselprice.SelectedIndex = 1
            dselprice.DataBind()
        End If

解决方案 »

  1.   

    本帖最后由 net_lover 于 2011-10-20 16:43:42 编辑
      

  2.   

    点击页面按钮相当于向服务器请求了一次,又重新绑定了gridView,而你填写的值没有存到数据库中,所以会清空解决办法:将gridview数据源放到session中,点击按钮的时候获取页面的值放到session中,然后重新绑定GridView就ok了
      

  3.   

    LZ你的点击按钮是实现什么操作,如果没有后台的复杂操作就用JS吧
      

  4.   

    我用后台代码取值,取出textbox为空的哦用HTML按钮的话,到时后台还比较复杂一点的操作哦。。
      

  5.   

    IsPostBack 加上了没有 。
      

  6.   

    说明一下,我的gridview也是有点击页面的另外一个按钮时,才进行数据绑定的
      

  7.   

    我在按钮事件加上IsPostBack,也不行哦。。
      

  8.   

    if(!ispostback)
    {
      //数据控件绑定
    }
      

  9.   


    load事件里面,你别加按钮事件里面啊
      

  10.   

    原因:你都提交到服务器了,页面被刷新了
    处理办法:用Ajax控件包住需要或者不需要刷新的控件,这样就不会被提交了。注:如果不了解Ajax控件(无痕刷新),google一下~