值保存在数据库中,但未显示在下拉列表中 [英] value is save in database but is not showing in dropdownlist
问题描述
需要一些帮助。我目前正在学习带有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屋!