我有一个下拉列表,其中包含列表的值。
我在c#中有以下声明:
string raf = string.Format("select Id from Customer WHERE email="dropdownlist1");
如何将下拉列表的值分配给电子邮件?
答案 0 :(得分:3)
您需要使用.SelectedValue
属性来获取下拉列表的值: -
string raf = string.Format("select Id from Customer WHERE email={0}",
dropdownlist1.SelectedValue);
用于获取下拉文本: -
string raf = string.Format("select Id from Customer WHERE email={0}",
dropdownlist1.SelectedItem.Text);
此外,请注意,在使用{0}
时,您需要使用String.Format
这样的占位符。
虽然根据您的查询,您主要是访问数据库,因此请注意SQL Injection,使用参数化查询,如下所示: -
string raf = select Id from Customer WHERE email=@DropdownText;
SqlCommand cmd = new SqlCommand(raf,conn);
cmd.Parameters.Add("@DropdownText",SqlDbType.NVarchar,20).Value =
dropdownlist1.SelectedItem.Text;
答案 1 :(得分:1)
试试这个
string raf = string.Format("select Id from Customer
WHERE email='{0}'",dropdownlist1.SelectedValue));
{0}
表示您正在获取string.Format
方法的第一个参数
谨防SQL Injection
始终使用SQL Parameters