ASP .Net:根据用户输入动态过滤ListView项

时间:2012-10-09 18:46:20

标签: c# asp.net listview datapager

我有一个带有DataPager控件的ListView。我正在尝试显示一系列问题。每个问题以及它的选择属于列表视图中的项目,我每页显示一个问题。选项是启用了自动后备的单选按钮。 现在,根据用户对第一个问题的回答,我想过滤列表视图中的其余问题,只显示与用户选择相关的问题。此外,我不想从列表视图中完全删除其他问题,因为如果用户导航到第一个问题并更改其响应,我希望列表相应地更改。有没有办法动态隐藏包含无关问题的页面?

感谢。

注意:列表项由自定义SQL查询填充: SELECT questionNumber,questionText,OptionA,OptionB,OptionC,OptionD,OptionE,OptionF,OptionG,OptionH,OptionI,OptionJ,OptionK,OptionL,Other,questionTag,subType from Questionairre

在此查询中,应将字段“subType”中存在的值与第一个问题中的选择进行比较。不会检查第一个问题的子类型字段。以下代码是我到目前为止的代码。变量“firstChoice”是存储第一个问题的回发值的静态变量。

 protected void ListView_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

        ListViewDataItem di = (ListViewDataItem)e.Item;

        Label q=new Label();
        foreach(Control control in di.Controls)
        {

            if (control.GetType() == typeof(Label))
            {
                q = (Label)control;

                if (q.ID == "subType" && q.Text != firstChoice)
                    {
                        di.Visible = false;


                    }
            }
        }

    }

0 个答案:

没有答案