我将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方法中的任何内容吗?
答案 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();