Vincent Maverick Durano
Вместо того чтобы проверять предметы из DropDownList
, проверьте наличие DataSource
который используется в DropDownList
Например, если вы используете DataTable
как ваш DataSource
тогда вы могли бы сделать что-то вроде этого в Page_Load
событие:
private string GetConnectionString(){
//calling the connection string that was set up from the web config file
return ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
}
private void BindDropDownList(){
DataTable dt = new DataTable();
using (SqlConnection sqlConn = new SqlConnection(GetConnectionString())){
string sql = "SELECT Field1, Field2 FROM YourTable WHERE Field3 = @Param1";
using(SqlCommand sqlCmd = new SqlCommand(sql,sqlConn)){
sqlCmd.Parameters.AddWithValue("@Param1", "YourFilterValueHere");
sqlConn.Open();
using(SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCmd))
{
sqlAdapter.Fill(dt);
}
}
}
if (dt.Rows.Count > 0)
{
DropDownList1.DataSource =dt;
DropDownList1.DataTextField = "Field2"; // the items to be displayed in the list items
DropDownList1.DataValueField = "Field1"; // the id of the items displayed
DropDownList1.DataBind();
}
else
{
DropDownList1.Visible = false;
}
}
protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack)
BindDropDownList();
}