0

我有带有分页和 EntityDataSource 的 ListView。ListView 应该显示数据库中的所有项目,但是如果在 url 中我们有例如短语“cat”,它应该只显示标题中带有短语“cat”的项目,所以我有:

public partial class List : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["phrase"] != null)
        {
            EntityDataSource1.WhereParameters.Add("Phrase", TypeCode.String, Request.QueryString["phrase"].ToString());
            EntityDataSource1.Where = "it.Title like '%' + @Phrase + '%'";
        }
    }
}

但是当我转到下一页时出现错误: 参数集合中已存在参数名称“Phrase”

我能做些什么?

4

1 回答 1

1
EntityDataSource1.WhereParameters.Clear();

EntityDataSource1.WhereParameters.Add("Phrase", TypeCode.String, '%' + Request.QueryString["phrase"].ToString() +'%'");
EntityDataSource1.Where = "it.Title LIKE @Phrase";

或者

EntityDataSource1.Where = "it.Title LIKE @Phrase";
EntityDataSource1.WhereParameters["Phrase"].DefaultValue
    =  '%' + Request.QueryString["phrase"].ToString() +'%'";
于 2013-06-08T12:18:29.830 回答