Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于下拉选择c填充Listview_C#_Mysql_Asp.net_Listview - Fatal编程技术网

C# 基于下拉选择c填充Listview

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”。是否

我试图根据下拉菜单中的选择填充listview

下拉菜单有类别列表,我希望listview显示该类别的所有电影。所有这些信息都在mysql数据库中

我通过两个下拉菜单实现了这一点,但该代码不适用于listview,因为我遇到以下错误: “System.Web.UI.WebControl.ListView”不包含“DataValueField”的定义,并且找不到接受“System.Web.UI.WebControl.ListView”类型的第一个参数的扩展方法“DataValueField”。是否缺少using指令或程序集引用?和相同的错误,但将“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.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查询返回的唯一字段,因此它将是列表视图中显示的唯一字段