c# - 搜索引擎。使用asp.net并从MySql检索数据

标签 c# mysql asp.net search gridview

我正在尝试在 asp.net 中创建一个与 mysql 链接的搜索引擎。我希望用户可以键入一个单词/数字并按搜索,他将看到我的数据库中包含该特定单词的所有行。

在第一个加载页面,我从数据库中获取完整数据(根据需要),例如,我尝试搜索“尊重”,然后单击按钮搜索(Zoeken),但没有任何反应。

我尝试添加一个在单击按钮后发生变化的标签,以查看在按下按钮后代码是否正在执行,并且它会发生变化。

这是代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using MySql.Data.MySqlClient;

namespace KnowledgebaseKNO
{
public partial class Know : System.Web.UI.Page
{


    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            GridLaden();
        }


    }

    protected void GridLaden()
    {

        //start
        if (!this.IsPostBack)
        {

            MySqlConnection con = new MySqlConnection("server = 127.0.0.1; user id = secret; persistsecurityinfo = True; database = knbase;pwd=secretinfo");
            con.Open();

            using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM tblafspraken"))
            {
                using (MySqlDataAdapter sda = new MySqlDataAdapter())
                {
                    cmd.Connection = con;
                    sda.SelectCommand = cmd;
                    using (DataTable dt = new DataTable())
                    {
                        sda.Fill(dt);
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                    }
                }

            }
        }
        //eind


    }


    protected void GridLadenSpecifiek()
    {
        string keywoord;

        keywoord = txt_zoekwoord.Text;


        if (!this.IsPostBack)
        {

            MySqlConnection con = new MySqlConnection("server = 127.0.0.1; user id = secret; persistsecurityinfo = True; database = knbase;pwd=secretinfo");
            con.Open();

            using (MySqlCommand cmd = new MySqlCommand("SELECT IDafspraak, NaamAfspraak,BeschrijvingAfspraak FROM tblafspraken where NaamAfspraak like '%" + keywoord + "%' or BeschrijvingAfspraak like '%" + keywoord + "%'"))
            {
                using (MySqlDataAdapter sda = new MySqlDataAdapter())
                {
                    cmd.Connection = con;
                    sda.SelectCommand = cmd;
                    using (DataTable dt = new DataTable())
                    {
                        sda.Fill(dt);
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                    }
                }

            }
        }

        lbl_test.Text = "Done!";



    }


    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }


    protected void btn_Zoeken_Click(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            GridLadenSpecifiek();
        }

    }
}
}

最佳答案

因为您已经在 GridView 中拥有了数据。我认为您可以使用 javascript 显示包含文本框中出现的单词的行。我认为这是更好的解决方案,因为您可以在页面加载时自行加载所有数据。

现在回答你的问题。正在删除

 if (!this.IsPostBack)

代码块应该使您的代码正常工作。

关于c# - 搜索引擎。使用asp.net并从MySql检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43341716/

相关文章:

c# - 序列化 DataAnnotations

mysql - 为什么从 Ruby 通过 Mysql2 传递一个日期查询可以工作,而另一个则不行?

c# - Web API 用户跟踪

c#,从可执行文件外部的参数打开特定的 Windows 窗体

c# - 如何将列表 <AudioTrack> 从类传递到类 AudioPlayer

mysql - LEFT JOIN 不为不匹配的行创建 NULL 记录

mysql - 使用时间间隔为每个外键选择最高值

asp.net - <% : and <%= and <%# in aspx? 和有什么区别

Asp.net - 使用 SSL 防止 cookie 重放攻击

c# - QueryOver 查询中的重要顺序