マスター ページに検索フィールドとボタンがあります。ユーザーが検索語を入力して送信すると、検索結果がコンテンツ ページに表示されるようにしたいと考えています。
これを処理するための最良の、最も論理的な方法は何でしょうか?
コンテンツ ページで FindControl を使用してボタンを見つけ、それがクリックされたかどうかをどうにかして判断することを考えましたが、私のロジックはすぐに下り坂になりました。
何かご意見は?
ありがとう!
おそらく、これを処理する最も簡単な方法は、フォームを投稿ではなく取得として使用することです。ポストバック イベントを使用しているために問題が発生した場合。URL に検索基準を持つクエリ文字列を使用して、同じ場所にリダイレクトすることができます。次に、Request("[SearchVariable]") を使用して URL から検索条件を読み取るだけです。
私はこれを非常に簡単な方法で処理します。
ボタンがクリックされたら、検索する情報をセッション変数に設定し、ページを検索ページにリダイレクトします。検索ページはその値を取得します。
protected void btnSearch_OnClick(object sender, EventArgs e)
{
Session["General"] = txtSearch.Text;
Response.Redirect("\\Search.aspx");
}
最も簡単な方法 (最善ではないかもしれません) は、おそらく結果ページにリダイレクトし、検索語をクエリ文字列に入れることです。次に、結果ページに到着したら、クエリ文字列を確認し、コンテンツ ページで検索を実行します。
ここにも別の投稿がありますクイック検索で見つけたばかりですが、これが良い方法かどうかはわかりません
あなたが最終的にこれを行う方法を知りたいと思います。