我正在尝试在 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/