C# 基于下拉选择c填充Listview
我试图根据下拉菜单中的选择填充listview 下拉菜单有类别列表,我希望listview显示该类别的所有电影。所有这些信息都在mysql数据库中 我通过两个下拉菜单实现了这一点,但该代码不适用于listview,因为我遇到以下错误: “System.Web.UI.WebControl.ListView”不包含“DataValueField”的定义,并且找不到接受“System.Web.UI.WebControl.ListView”类型的第一个参数的扩展方法“DataValueField”。是否缺少using指令或程序集引用?和相同的错误,但将“DataValueField”替换为“DataTextField” 下拉列表的代码:C# 基于下拉选择c填充Listview,c#,mysql,asp.net,listview,C#,Mysql,Asp.net,Listview,我试图根据下拉菜单中的选择填充listview 下拉菜单有类别列表,我希望listview显示该类别的所有电影。所有这些信息都在mysql数据库中 我通过两个下拉菜单实现了这一点,但该代码不适用于listview,因为我遇到以下错误: “System.Web.UI.WebControl.ListView”不包含“DataValueField”的定义,并且找不到接受“System.Web.UI.WebControl.ListView”类型的第一个参数的扩展方法“DataValueField”。是否
public void ddl_Cat()
{
if (!Page.IsPostBack)
{
MySqlCommand sql_Category = new MySqlCommand("SELECT DISTINCT(Category) FROM DVD", cs);
cs.Open();
MySqlDataReader ddlgetcat;
ddlgetcat = sql_Category.ExecuteReader();
ListViewCat.DataSource = ddlgetcat;
ListViewCat.DataValueField = "Category";
ListViewCat.DataTextField = "Category";
ListViewCat.DataBind();
cs.Close();
cs.Dispose();
}
}
listview的代码:
protected void ListViewCat_SelectedIndexChanged(object sender, EventArgs e)
{
string categorySelection = ddlCategory.SelectedValue;
string available = string.Empty;
{
MySqlCommand cd_available = new MySqlCommand(String.Format("SELECT * FROM DVD WHERE (Cateogry) ='{1}' and (Title) ='{0}'", ddlCategory.SelectedItem.ToString().Trim(), categorySelection), cs);
cs.Open();
available = Convert.ToString(cd_available.ExecuteScalar());
cs.Close();
cs.Dispose();
}
}
有谁能帮我修复这段代码,并提供一种替代方法吗?
谢谢这是因为asp列表视图控件上不存在这两个属性DataValueField和DataTextField:。它们确实存在于asp下拉列表控件上:这是因为asp列表视图控件上不存在这两个属性DataValueField和DataTextField:。它们确实存在于asp下拉列表控件上:正如错误所述,ListView控件没有DataValueField或DataTextField属性。我想你把它和下拉列表混淆了,你可以在下拉列表中设置这些值 从代码中删除它们,如下所示:
public void ddl_Cat()
{
if (!Page.IsPostBack)
{
MySqlCommand sql_Category = new MySqlCommand("SELECT DISTINCT(Category) FROM DVD", cs);
cs.Open();
MySqlDataReader ddlgetcat;
ddlgetcat = sql_Category.ExecuteReader();
ListViewCat.DataSource = ddlgetcat;
ListViewCat.DataBind();
cs.Close();
cs.Dispose();
}
}
注意:由于类别是SELECT DISTINCT查询返回的唯一字段,因此它将是列表视图中显示的唯一字段
正如错误所说,ListView控件没有DataValueField或DataTextField属性。我想你把它和下拉列表混淆了,你可以在下拉列表中设置这些值 从代码中删除它们,如下所示:
public void ddl_Cat()
{
if (!Page.IsPostBack)
{
MySqlCommand sql_Category = new MySqlCommand("SELECT DISTINCT(Category) FROM DVD", cs);
cs.Open();
MySqlDataReader ddlgetcat;
ddlgetcat = sql_Category.ExecuteReader();
ListViewCat.DataSource = ddlgetcat;
ListViewCat.DataBind();
cs.Close();
cs.Dispose();
}
}
注意:由于类别是SELECT DISTINCT查询返回的唯一字段,因此它将是列表视图中显示的唯一字段