下拉列表Listitems提交到数据库

时间:2012-06-21 08:29:52

标签: c# asp.net c#-4.0 drop-down-menu

我正在学习编程...我有一个这样的下拉列表。

<div>
    <asp:DropDownList ID="DropDownList1" runat="server">
    <asp:ListItem >Alabama</asp:ListItem>
<asp:ListItem >Alaska</asp:ListItem>
    </asp:DropDownList></div>

使用C#我想将所选项目发送到数据库。数据库字段为County nvarchar(50) NULL

我在C#后端看到了一些例子。我在互联网上找到了这个。我可以从下面编码发送以上所选项目吗?

protected void Page_Load(object sender, EventArgs e)
   {

       ListItem[] items = new ListItem[3];
       items[0] = new ListItem("One", "1");
       items[1] = new ListItem("Two", "2");
       items[2] = new ListItem("Three", "3");

       DropDownList1.Items.AddRange(items);

3 个答案:

答案 0 :(得分:1)

  List<ListItem> items = new List<ListItem>();
  items.Add(new ListItem("Alabama", "Alabama"));
  items.Add(new ListItem("Alaska", "Alaska"));
  DropDownList1.Items.AddRange(items.ToArray());

如果您想从DropDownList1

中获取所选项目
var selectedText = DropDownList1.SelectedItem.Text;

var selectedValue = DropDownList1.SelectedItem.Value; 

如果您需要将此值插入数据库,那么

using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand command = connection.CreateCommand())
{
    command.CommandText = "INSERT INTO tableName (County) VALUES (@County)";

    command.Parameters.AddWithValue("@County", selectedText);

    connection.Open();
    command.ExecuteNonQuery();
}

答案 1 :(得分:1)

如果您想将数据从DB添加到下拉列表中,则可以使用

 SqlConnection conn = new SqlConnection(" your connection string ");
 conn.Open();
 SqlDataAdapter da = new SqlDataAdapter("select * from ddltable ", conn);
 DataSet ds = new DataSet();
 da.Fill(ds, " ddltable ");
 DropDownList1.DataSource = ds.Tables["ddltable "].DefaultView ;
 DropDownList1.DataTextField = "id";
 DropDownList1.DataBind(); 

将此代码放入页面加载

或者如果您想从下拉列表中选择项目,则可以启用回发并使用

DropDownList1.selectedItem 

使用此代码

SqlConnection con = new SqlConnection(strConnString);

        con.Open();

        for (int i = 0; i < DropDownList1.Items.Count; i++)

        {

            if (DropDownList1.Items[i].Selected == true)

            {

                str = "insert into employee1 values('" + DropDownList1.Items[i].ToString() + "')";

                com = new SqlCommand(str, con);

                com.ExecuteNonQuery();

                Response.Write("<script>alert('Items Inserted');</script>");

            }

        }

答案 2 :(得分:0)

您可以使用

DropDownList1.SelectedValue

DropDownList1.SelectedItem.Value

从下拉列表中获取所选值