2014-01-22 41 views
0

我已經在我的網頁綁定到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將值插入到數據庫中。

+0

你爲什麼不值其分配給下拉列表 – Gabe

+0

前添加到DataTable我該怎麼辦,在這裏,我沒有使用任何代碼直接添加值到數據庫中。 –

+0

DataRow row = dt.NewRow(); row [「dropal」] =「select」 dt.Rows.Add(row); DropDownList1.DataSource = dt; DropDownList1.DataBind(); 如果你希望在第一位置插入,然後使用 dt.Rows.InsertAt(行,0); – Gabe

回答

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重新綁定到數據庫中的最新值。

+0

我沒有使用任何代碼來插入/刪除值。我正在使用SSMS。 –

+0

@ m.k的.NET應用程序將如何來認識帽子數據已經改變,你必須以某種方式Ø通知applicatiion – Pawan

+0

有沒有辦法告訴應用程序始終以更新的表。 –