【问题标题】:search records through repeater in asp.net通过asp.net中的中继器搜索记录
【发布时间】:2014-01-23 18:56:42
【问题描述】:

我尝试在 asp.net 中搜索记录,首先我创建存储过程:

ALTER procedure [dbo].[spsearchdocuments]
   @Name nvarchar(50)  
as   
   SELECT     
      dbo.DocumentInfo.DocID as DocumentID, 
      dbo.DocumentInfo.DocName as DocumentName, 
      dbo.DocumentInfo.Uploadfile as FileUploaded,
      dbo.DocumentInfo.UploadedDate as UploadedDate,
      dbo.Department.DepType as Department, 
      dbo.DocType.DocType as Document,
      dbo.DocumentInfo.UploadedBy as UploadedBy, 
      dbo.Approval.AppoveBy, dbo.ApproveType.ApproveType as Status
   FROM         
      dbo.DocumentInfo 
   INNER JOIN
      dbo.Approval ON dbo.DocumentInfo.DocID = dbo.Approval.DocID 
   INNER JOIN
      dbo.ApproveType ON dbo.Approval.ApproveID = dbo.ApproveType.ApproveID 
   INNER JOIN
      dbo.Department ON dbo.DocumentInfo.DepID = dbo.Department.DepID 
   INNER JOIN
      dbo.DocType ON dbo.DocumentInfo.DocTypeID = dbo.DocType.DocTypeID
   WHERE
      [DocName] like @Name+'%'

然后当我在这样的函数中调用这个过程时

public DataTable searchdcouments(string Name )
{
    return db.ExecuteDataSet("spsearchdocuments", new object[] { Name }).Tables[0];
}

当我像这样在搜索按钮后面以 .aspx 形式调用此函数时

protected void Btn_submits_Click(object sender, EventArgs e)
{         
    Repeater4.DataSource = sear.searchdcouments(searz.Text);
    Repeater4.DataBind();           
}

当我调试我的项目并编写关键字时,它不会向我显示数据库中存在记录的任何记录

看看下面的图片

当我输入关键字时

当我点击搜索按钮时,它会像这样显示我

【问题讨论】:

  • 我会检查 searz.Text 以确保它没有尾随空格。
  • 请检查这个

标签: c# asp.net search repeater


【解决方案1】:

您的关键字似乎输入错误。在数据库中是“ERP SYSTEM”,在搜索框中是“erpssystem”

发表评论后编辑

“like google”意味着每次搜索字符串更改时您都必须运行您的选择,例如用户键入/删除一个字母。

为此,请使用您的 searz 对象并将处理程序添加到它的“值更改”事件中。

第二次修改

假设它是一个文本框并且您正在使用 VisualStudio,打开 searz 的属性并找到 TextChanged 事件。双击它将创建 TextChanged 事件处理程序,您可以像这样填写:

protected void searz_TextChanged(object sender, EventArgs e)
{
    Repeater4.DataSource = sear.searchdcouments(searz.Text);
    Repeater4.DataBind();
}

【讨论】:

  • 我喜欢像谷歌一样搜索,当我们输入's'或任何其他单词时,更多记录显示并显示在页面中..与我输入与关键字相同时所做的相同,那么更多记录将是例如,当我输入 erp 时,如果数据库中存在超过 1 条记录,则应显示所有记录
  • 在您发表评论后更新了我的答案
  • 当我这样做时,它显示错误... protected void Btn_submits_Click(object sender, EventArgs e) { searz.TextChanged += new TextChangedEventHandler(TextChanged); } private void TextChanged(object Sender, TextChangedEventArgs e) { Repeater4.DataSource = sear.searchdcouments(searz.Text); Repeater4.DataBind(); }
  • 错误:找不到类型或命名空间名称“TextChangedEventArgs”(您是否缺少 using 指令或程序集引用?)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-20
  • 2019-06-29
  • 2019-06-15
  • 2018-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多