我现在有一个留言簿,显示“comment”、“comment_time”、“user”。我想在下面添加一个搜索框,然后按“用户”搜索网格视图,然后将数据绑定到下面的新网格视图。我受到严格的指示,让所有数据交互都通过 Web 服务传递。
我现在有一个 Web 方法来获取所有评论:
[WebMethod]
public DataSet SearchDatabase(string query)
{
DataSet ds = new DataSet();
string database = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/dvd_forum.accdb;Persist Security Info=True";
string queryStr = "SELECT * FROM Comments WHERE User LIKE '%query%'";
OleDbConnection myConn = new OleDbConnection(database);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(queryStr, myConn);
myConn.Open();
myDataAdapter.Fill(ds, "Comments");
myConn.Close();
return ds;
}
这是前面的代码:
<asp:Label ID="Label3" runat="server" Text="Search"></asp:Label><asp:TextBox ID="TextBoxSearch"
runat="server"></asp:TextBox><asp:Button ID="ButtonSearch"
runat="server" Text="Search" onclick="ButtonSearch_Click" />
<asp:GridView ID="GridView2" runat="server">
后面的代码:
protected void ButtonSearch_Click(object sender, EventArgs e)
{
string query = TextBoxSearch.Text;
localhost.Service1 myws = new localhost.Service1();
ds = myws.SearchDatabase(query);
GridView2.DataSource = ds;
GridView2.DataBind();
}
它根本不做任何事情,页面刷新没有新的 GridView 或任何其他操作。
另一方面:我在同一页面上有另一个输入,带有必填字段验证器,除非我用一些文本填充输入,否则我不会搜索。我该如何解决这个问题?
谢谢。