現在、「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 やその他のアクションなしでページが更新されます。
別の補足として、入力にテキストを入力しない限り検索できない必須フィールドバリデーターを使用して、同じページに別の入力があります。どうすればこれを解決できますか?
ありがとう。