LinqDataSource选择问题

时间:2018-06-24 12:05:46

标签: c# asp.net repeater linqdatasource

我将LinqDataSource与Repeater控件一起使用,以检索和显示数据取决于DropDownList SelectedValue。

我的代码如下-

protected void Button1_Click(object sender, EventArgs e)
{
    Repeater1.DataBind();
}


protected void DropDownList1_DataBound(object sender, EventArgs e)
{
    DropDownList1.Items.Insert(0, "--");
}

protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
    if (DropDownList1.SelectedValue != "--")
    {
        e.WhereParameters.Add("city", DropDownList1.SelectedValue);
    }

}

加载表单后,我将按预期获得所有记录,但是当我更改DropDownList1 SelectedValue(选择特定城市)并单击Button1时,我将获得相同的结果,即所有记录

我需要更改LinqDataSource1_Selecting方法中的任何内容吗?

1 个答案:

答案 0 :(得分:0)

我放弃了在tuntime中设置LinqDataSource的方法,而是使用了程序化数据源,可以更好地控制Where子句。

代码如下-

d = (from u in db.prop2Shows select u).Where(a => a.active==true && 
a.list==true);
    Repeater1.DataSource = d;
    Repeater1.DataBind();