3
如何綁定產品名稱,然後在標籤結果中獲取產品ID和價格?這三個屬性來自DB中的同一個表。如何放置兩個DataValueFields?
代碼:
public partial class CreateOrder : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false) bindListBox();
}
}
private void bindListBox()
{
ddlProduct.DataSource = getReader();
ddlProduct.DataTextField = "productName";
ddlProduct.DataValueField = "IDANDPRICE";
ddlProduct.DataBind();
}
private SqlDataReader getReader()
{
//get connection string from web.config
string strConnectionString =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection myConnect = new SqlConnection(strConnectionString);
string strCommandText = "SELECT productName, productID,productPrice,(productID + '-' + productPrice) AS IDANDPRICE from Product";
SqlCommand cmd = new SqlCommand(strCommandText, myConnect);
myConnect.Open();
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
Label1.Text = "";
Label1.Text += "productName:" + ddlProduct.SelectedItem.Text + "<br/>";
Label2.Text = "";
Label2.Text += "IDANDPRICE:" + ddlProduct.SelectedItem.ToString() ;
}
讀取器是一個枚舉對象。您必須使用Read()方法來獲取可枚舉對象的每一行。使用SqlDataAdapter並將結果放入DataTable中更好。然後將您的控件綁定到DataTable。 – jdweng
做一個大忙,並使用ORM(如實體框架)從數據庫中獲取*對象*。這會讓你的生活更輕鬆。您可以將一系列'Product'對象綁定到DDL並使用SelectedItem。 –