私はデータベースに新しいタイトルを追加するドロップダウンリストを持っていますが、ユーザーが入力できるテキストボックスを追加したいと思いますドロップダウンに何も追加されていない場合は、新しいタイトルが追加されます。ドロップダウンから値が選択されていない場合、テキストボックスをVB.netデータベースに追加できます
データベースからタイトルを動的に取得するドロップダウンがあります。残念ながら、これはドロップダウンリストの最初の値が「オプションを選択する」というデフォルトではないことを意味します。私は値がデータベースから引き出されているときに "選択"としてリストされた最初のオプションを持つようにドロップダウンを得る方法を知らない。追加することはできませんデータベースにオプションを選択すると、これはどのように機能しますか?
ドロップダウンリストに何も挿入されていない場合、テキストボックスをデータベースに挿入できるようにするコードビハインドに何が追加できますか?今はテキストボックスのコードビハインドはありませんが、正しい情報を挿入するドロップダウンリストがあります。
<li class="alternatingItem">
<asp:LinkButton ID="DescButton" runat="server">Description</asp:LinkButton>
<asp:Panel ID="DescPanel" runat="server" CssClass="modalPopup" Style="display:none">
<div class="PopupHeader">Add a Description</div>
Title:<asp:DropDownList ID="ddlDescription" runat="server" DataSourceID="dsNewDescription" DataTextField="Title" DataValueField="Title">
</asp:DropDownList><br />
New Title:<asp:TextBox ID="NewDescTitle" runat="server"></asp:TextBox><br />
Description:<asp:TextBox ID="Description" runat="server" TextMode="MultiLine">
</asp:TextBox><br />
<asp:Button ID="submitDescription" runat="server" Text="Submit" />
<asp:Button ID="CancelSubmitDesc" runat="server" Text="Cancel" />
</asp:Panel>
<asp:ModalPopupExtender ID="DescModal" runat="server" DropShadow="True"
DynamicServicePath="" Enabled="True" PopupControlID="DescPanel"
TargetControlID="DescButton">
</asp:ModalPopupExtender>
</li>
Protected Sub submitDescription_Click(ByVal sender As Object, ByVal e
As System.EventArgs) Handles submitDescription.Click
DescModal.Hide()
'SQL INSERT: Marketing Table
Dim strSQL As String = "INSERT INTO Picklist (Title, Data)
VALUES (@Title, @Data);
INSERT INTO Marketing
(ProductID, MarketingTypeID, MarketingTitle, MarketingData)
VALUES (@ProductID ,2, 'Description', scope_identity())"
Using cn As New SqlConnection
(System.Configuration.ConfigurationManager.ConnectionStrings
("LocalSqlServer").ConnectionString)
Using cmd As New SqlCommand(strSQL, cn)
cmd.Parameters.Add(New SqlParameter("@Title",
ddlDescription.SelectedValue))
cmd.Parameters.Add(New SqlParameter("@Data",
Description.Text))
cmd.Parameters.Add(New SqlParameter("@ProductID",
ProductID.Value))
cn.Open()
cmd.ExecuteNonQuery()
End Using
End Using
Response.Redirect(Request.RawUrl)
End Sub
WORKING CODE
Title:<asp:DropDownList ID="ddlDescription" runat="server"
DataSourceID="dsNewDescription" DataTextField="Title" DataValueField="Title"
enableViewstate="False" AutoPostBack="True" AppendDataBoundItems="True">
<asp:ListItem Text="Select below or enter new" Selected="True"></asp:ListItem>
If ddlDescription.SelectedValue <> "Select below or enter new" Then
cmd.Parameters.Add(New SqlParameter("@Title", ddlDescription.SelectedValue))
Else
cmd.Parameters.Add(New SqlParameter("@Title", NewDescTitle.Text))
End If
元の投稿を編集する必要がありました。ドロップダウンリストには、データベースからデータが移入されているため、常にオプションが選択されていることに気づいていませんでした。このようにドロップダウンがどのように機能するか考えていますか? – jlg
'AppendDataBoundItems =" true "'を設定し、空白の項目を最初の位置に追加します。 –
あなたの提案をありがとう!私は元のポストを編集しました:#ああ、appenddatabounditemsは重複を生成しましたが、ドロップダウンにもう少し追加することでその問題を解決することができました。 – jlg