值保存在数据库中,但未显示在下拉列表中 [英] value is save in database but is not showing in dropdownlist

查看:59
本文介绍了值保存在数据库中,但未显示在下拉列表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要一些帮助。我目前正在学习带有sql的vb.net。



我有两个文本框(txtValue和txtText),一个下拉列表(ddl1)和保存按钮(btnAdd)。我将值插入txtValue和txtText(例如:txtValue:A和txtText:Apple)。当我点击按钮添加时,该值将显示在下拉列表中(如此; A - Apple),两个数据都将保存在sqlserver(db)中。



im有问题,当我点击按钮添加时,数据不会显示在下拉列表中。但是当我刷新浏览器时,数据将显示在下拉列表中。



ASP.net

 < span class =code-keyword><   asp:DropDownList     ID   =  ddl1    runat   =  server     CssClass   = < span class =code-keyword> form-control    AutoPostBack   =  true >  <   / asp:DropDownList  >  

< label class = form-control-static > < / label >
< asp:TextBox ID = txtValue runat = server CssClass = 表格控制 > < / asp:TextBox >
< label class = form-control-static > 文本< / label >
< asp:TextBox ID = txtText runat = server CssClass = 表单控件 > < / asp:TextBox >

< 按钮 id = btnAdd runat = server style = min-width:80px; > 添加< / button >







VB.Net

 受保护的  Sub  Page_Load(发件人作为 对象,e  As  EventArgs)句柄  .Load 

如果 Page.IsPostBack = False 然后

Dim rs As DataSet


ddl1.Items.Clear()
ddl1.Items.Add(
rs = db.ExecuteSelect( SEL ECT值,文本FROM dropdownlist,Session( CnnStr)。ToString)
对于 i = 0 rs.Tables( 0 )。Rows.Count - 1

ddl1。 Items.Add(rs.Tables( 0 )。行(i).Item( value)。ToString& - & rs.Tables( 0 )。行(i).Item( text)。ToString)

下一步
结束 如果
结束 Sub



受保护的 Sub btnAdd_ServerClick(发件人作为 对象,e 作为 EventArgs)句柄 btnAdd.ServerClick
db.ExecuteInsert( INSERT INTO下拉列表(值,文本)VALUES(& _
'& db.sqlstr(txtValue.Text)& ',& _
'& db.sqlstr(txtText.Text)& '),_
Session( CnnStr)。ToString)

结束 Sub

解决方案

看起来当你点击Add,DropDownList正在做一个第二个PostBack,你暂时失去了ViewState值。对于下拉列表,请设置:

 AutoPostBack =   false


need some assistance. I am currently learning vb.net with sql.

I have two textboxes (txtValue and txtText) , a dropdownlist (ddl1) and save button (btnAdd). I insert value to txtValue and txtText (eg: txtValue: A and txtText: Apple). when i click button Add, The value will display in dropdownlist (like this; A - Apple) and both data will be save in the sqlserver (db).

im having issue where when i click button Add, the data is not display in the dropdownlist. But when i refresh my browser, the data will display in dropdownlist.

ASP.net

<asp:DropDownList ID="ddl1" runat="server" CssClass="form-control" AutoPostBack="true"></asp:DropDownList>

     <label class="form-control-static">Value</label>
     <asp:TextBox ID="txtValue" runat="server" CssClass="form-control"></asp:TextBox>
      <label class="form-control-static">Text</label>
      <asp:TextBox ID="txtText" runat="server" CssClass="form-control"></asp:TextBox>

      <button id="btnAdd" runat="server" style="min-width: 80px;">Add</button>




VB.Net

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

        If Page.IsPostBack = False Then

            Dim rs As DataSet


            ddl1.Items.Clear()
            ddl1.Items.Add("")
            rs = db.ExecuteSelect("SELECT value, text FROM dropdownlist ", Session("CnnStr").ToString)
            For i = 0 To rs.Tables(0).Rows.Count - 1

                ddl1.Items.Add(rs.Tables(0).Rows(i).Item("value").ToString & " - " & rs.Tables(0).Rows(i).Item("text").ToString)

            Next
        End If
    End Sub



    Protected Sub btnAdd_ServerClick(sender As Object, e As EventArgs) Handles btnAdd.ServerClick
        db.ExecuteInsert("INSERT INTO dropdownlist (value, text ) VALUES( " & _
                             "'" & db.sqlstr(txtValue.Text) & "'," & _
                            "'" & db.sqlstr(txtText.Text) & "') ", _
                             Session("CnnStr").ToString)

    End Sub

解决方案

It looks like when you click Add, the DropDownList is doing a second PostBack and you are temporary losing the ViewState value. For the dropdownlist, set:

AutoPostBack = "false".


这篇关于值保存在数据库中,但未显示在下拉列表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆