仕事用の検索ツールを修正しようとしています。ASP.NETに出会ったのはこれが初めてです。現在の検索ツールには、ローカルディレクトリを検索する方法の3つのオプションを含むラジオボタンリストがあります。しかし、私の前にこのプロジェクトに取り組んだ人は、コードを完成させなかったため、辞めました。ラジオボタンは、どのオプションを選択しても同じであることに気付いたので、検索クエリには影響しません。
これは、検索機能を書き直して、3つのラジオボタンオプションを組み込む試みです。ただし、この関数をコードの残りの部分に組み込むと、ページがまったくレンダリングされず、エラーが発生しません。元の文字列を取得し、Containsステートメントを省略してバリエーションを作成したため、クエリ文字列に誤りがあったとは思いません。エラーは、ifステートメント、またはasp.netRadioButtonListListItem値を比較しようとしている方法に起因すると想定しています。
protected void btnclick_WorkspaceSearch(object sender, EventArgs e){
string strSearchTerm=tbSearch.Text.Trim()
if (rblSearchOption.SelectedValue == "all"){
// Find the search term in either a file name or file content
string indexQuery = "SELECT docauthor,doctitle, FileName, Path, Write, Size, Rank";
indexQuery += "FROM " + "Workspace" + "..SCOPE() WHERE ";
indexQuery += "CONTAINS(FileName, '\"" + strSearchTerm + "\"') ";
indexQuery += "OR CONTAINS(Contents, '\"" + strSearchTerm + "\"') ";
indexQuery += "ORDER BY Rank DESC";
}
if (rblSearchOption.SelectedValue=="names"){
// Find the search term in a file name
string indexQuery = "SELECT docauthor,doctitle, FileName, Path, Write, Size, Rank";
indexQuery += "FROM " + "Workspace" + "..SCOPE() WHERE ";
indexQuery += "CONTAINS(FileName, '\"" + strSearchTerm + "\"') ";
indexQuery += "ORDER BY Rank DESC";
}
if (rblSearchOption.SelectedValue =="contents") {
// Find the search term in a file's content
string indexQuery = "SELECT docauthor,doctitle, FileName, Path, Write, Size, Rank";
indexQuery += "FROM " + "Workspace" + "..SCOPE() WHERE ";
indexQuery += "CONTAINS(FileName, '\"" + strSearchTerm + "\"') ";
indexQuery += "ORDER BY Rank DESC";
}
searchIndex(indexQuery);
lit_strQueryString.Text = indexQuery;
}