在数据库表中插入/删除插入/删除值的下拉数据源中添加/删除值

时间:2014-01-22 09:47:20

标签: c# asp.net sql

我的网页上有一个绑定到sqlDataSource的下拉列表。我们经常在数据库中添加/删除列的值。当我插入一个新值时,它应该立即出现在下拉列表中,一旦我从数据库中删除它而不使用刷新选项/ javascript的location.reload();同样的值应该从下拉列表中删除。我尝试了以下方法将值添加到下拉列表中。

pr1.aspx:

<asp:DropDownList ID="DropDownList1" runat="server"  DataTextField="dropval" DataValueField="dropval" Height="31px">
        </asp:DropDownList>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:VBTestConnectionString %>" SelectCommand="SELECT [dropval] FROM [pbs]"></asp:SqlDataSource> 

pr1.aspx.cs:

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
          SqlConnection con = new SqlConnection("Server=(local)\\SQLEXPRESS;Database=pbs;User Id=sa;Password=****;");
           con.Open();
            SqlCommand cmd = new SqlCommand("select dropval from pbs", con);
            SqlDataAdapter dtAdapter = new SqlDataAdapter(cmd);
            DataTable dt= new DataTable();
            dtAdapter.Fill(dt);
            DropDownList1.DataSource = dt;
            DropDownList1.DataTextField = "dropval";
            DropDownList1.DataValueField = "dropval";
            DropDownList1.DataBind();
            DropDownList1.Items.Insert(0, new ListItem("select", "0"));
         }

        }

我没有遇到任何错误,但这不起作用。我在数据库中添加新值后无法将值添加到下拉列表中(刷新页面后能够看到)。我使用SQL Server Management Studio将值插入数据库。

1 个答案:

答案 0 :(得分:0)

尝试调用以下代码

SqlConnection con = new SqlConnection("Server=(local)\\SQLEXPRESS;Database=pbs;User Id=sa;Password=****;");
           con.Open();
            SqlCommand cmd = new SqlCommand("select dropval from pbs", con);
            SqlDataAdapter dtAdapter = new SqlDataAdapter(cmd);
            DataTable dt= new DataTable();
            dtAdapter.Fill(dt);
            DropDownList1.DataSource = dt;
            DropDownList1.DataTextField = "dropval";
            DropDownList1.DataValueField = "dropval";
            DropDownList1.DataBind();
            DropDownList1.Items.Insert(0, new ListItem("select", "0"));

event处,您要向/ databse添加/删除值。基本上,您必须将dropdown list重新绑定到数据库中的最新值。