我有ListView with paging和EntityDataSource。 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”已存在于参数中 集合
我该怎么办?
答案 0 :(得分:1)
EntityDataSource1.WhereParameters.Clear();
EntityDataSource1.WhereParameters.Add("Phrase", TypeCode.String, '%' + Request.QueryString["phrase"].ToString() +'%'");
EntityDataSource1.Where = "it.Title LIKE @Phrase";
OR
EntityDataSource1.Where = "it.Title LIKE @Phrase";
EntityDataSource1.WhereParameters["Phrase"].DefaultValue
= '%' + Request.QueryString["phrase"].ToString() +'%'";