我有一個DropDownList,我已經將它綁定到一個表。問題是,當我試圖DropDownList控件的選定值插入到數據庫中,我沒有得到正確的價值觀,而不是讓整數數據2和1在數據庫中插入下拉列表值
這是我的下拉列表控制:
<asp:DropDownList
ID="ddlproductName"
runat="server"
DataTextField="Prod_Name"
DataValueField= "Product_Id"
>
</asp:DropDownList>
代碼隱藏:
protected void Page_Load(object sender, EventArgs e)
{
ddlproductName.SelectedIndex = 0;
if (!IsPostBack)
{
tbDate.Text = DateTime.Today.ToShortDateString();
string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand("Select Product_Id,Prod_Name from Add_Product", con);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
ddlproductName.DataSource = rdr;
ddlproductName.DataBind();
}
}
}
protected void btnPurchase_Click(object sender, EventArgs e)
{
try
{
string custName = tbcustName.Text;
string prodName = ddlproductName.SelectedValue;
int quantity = Convert.ToInt32(tbQuantity.Text);
string date = tbDate.Text;
string voucherNo = tbVoucher.Text;
double amount = Convert.ToDouble(tbAmount.Text);
PurchProduct purch = new PurchProduct(custName, prodName, quantity, date, voucherNo, amount);
ConnectionClass.purchaseProd(purch);
LblPurchase.Text = "Submitted succesfully";
}
而且purchaseProd方法如下:
public static void purchaseProd(PurchProduct purchase)
{
cmd = new SqlCommand("insert into TblPurchase(custName, prodName, quantity, date,voucherNo,amount) values (@custName, @prodName, @quantity, @date,@voucherNo,@amount)", con);
cmd.Parameters.AddWithValue("@custName", purchase.custName);
cmd.Parameters.AddWithValue("@prodName", purchase.prodName);
cmd.Parameters.AddWithValue("@quantity", purchase.quantity);
cmd.Parameters.AddWithValue("@date", purchase.date);
cmd.Parameters.AddWithValue("@voucherNo", purchase.voucherNo);
cmd.Parameters.AddWithValue("@amount",purchase.amount);
try
{
con.Open();
cmd.ExecuteNonQuery();
}
finally
{
con.Close();
cmd.Parameters.Clear();
}
}
ddlproductName.SelectedValue返回你的PRODUCT_ID。您的Product_Name綁定到ddlproductName.SelectedText。 –
當我使用ddlproductName.SelectedText它給出的錯誤說:'System.Web.UI.WebControls.DropDownList'不包含'SelectedText'的定義,並且沒有擴展方法'SelectedText'接受'系統類型的第一個參數.Web.UI.WebControls.DropDownList'可以找到(你是否缺少使用指令或程序集引用?) – Insafian
對不起,應該是SelectedItem.Text,而不是SelectedText。您還可以使用SelectedItem.Value獲取值。我的財產名稱錯誤是我的錯誤。 –