[英]c# DataTable Adding Data from Table
我有一個要填充的數據表,但是其中一個字段是一個從數據庫連接派生的下拉列表。 當我單擊添加時,盡管我選擇了它,但始終添加相同的數據,然后從列表中刪除第一項。
ASPX代碼
<asp:TableCell><asp:DropDownList runat="server" ID="txtProduct"></asp:DropDownList></asp:TableCell>
下拉列表的CS代碼
public void Fill1()
{
string connectionString = WebConfigurationManager.ConnectionStrings["CRM2Sage"].ConnectionString;
using (SqlConnection _con = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Products", _con))
{
cmd.Connection.Open();
SqlDataReader ddlValues;
ddlValues = cmd.ExecuteReader();
txtProduct.DataSource = ddlValues;
txtProduct.DataValueField = "Description";
txtProduct.DataTextField = "Description";
txtProduct.DataBind();
cmd.Connection.Close();
cmd.Connection.Dispose();
}
}
關於如何解決這個問題有什么想法嗎?
我認為您正在頁面加載中調用Fill1()
方法。 當頁面為PostBack時,則在頁面加載事件中再次調用Fill1()
,您的選擇將被清除。 您需要在加載事件中做到這一點
if(!Page.IsPostBack)
{
Fill1();
}
我認為您缺少SQL語句的WHERE部分以及將DropDownList選擇連接到SQL語句的方法。 就像是...
new SqlCommand("SELECT * FROM Products WHERE ProductID = " + txtProduct.SelectedValue , _con))
僅供參考:這僅用於說明,我永遠不會在一行代碼中放置兩個步驟,我將使用參數,並且會增加大量錯誤檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.