たとえば、[ホーム/インデックス]ページでは、データベースに情報を表示します。私は自分の検索と一致するすべての値を検索できる検索バーを作成したいと思います。データベース内のすべてのフィールドを検索する検索バーを作成するにはどうすればよいですか?
データベースには従業員、給与、IDがあります。従業員の検索ボタンを選択して「Bob」を検索します。検索にBobという名前のすべての従業員が表示されます。
私は今、私のホームコントローラーからindex.cshtmlにデータベースのすべてを表示できるようにしています。
public ActionResult Index(string employeeName){
//If employeeName, I return employeeName
//else I return something else}
しかし、複数のフィールドを検索して返す方法がわかりません。私は、オーバーロードされたActionResultsを使用することはできないことを知っているので、[ActionName]を使って試してみましたが、異なるパラメータで異なるIndexメソッドを作成しようとしました。私はエンティティモデルを実装していない既存のコードでこれを実行しようとしているため、ADO.NETエンティティモデルも使用していません。
編集 - ホームコントローラ
public class HomeController : Controller{
public ActionResult NameSearch(string EmployeeName)
{ //code to display JUST employee's name that matches the Employee variable}
public ActionResult SalarySearch(double salary)
{ //code to display JUST employee's sthat matches the salary variable}
public ActionResult Index()
{
//return View(model); the model has all the data that will be displayed in index.cshtml
}
index.cshtml-
<h2>Employee</h2>
<form action="/" method="get">
<input type="text" name="EmployeeName" />
<input type="submit" value="Search" />
</form>
<h3>Search Salary</h3>
<form action="/" method="get">
<input type="text" name="salary" />
<input type="submit" value="Search" />
</form>
だから、複数の検索ボックスがあります。社員の検索で「bob」を検索すると、一致するすべての名前が返されます。しかし、私は、これはたぶん私は今、質問を理解Index.cshtml
に<p>
@using (Html.BeginForm("serialDisplay", "Home", FormMethod.Get))
{
<p>
serial Number: @Html.TextBox("serialNumber") <br />
<input type="submit" value="Search" />
</p>
}
</p>
ので、あなたがボタンに応じて、検索の異なる種類をトリガーする1つのテキストに検索キーワードを入れてフィールドが、異なるボタン(またはラジオ)の後、カップルを持っています選ばれた? –
検索したいxフィールドのx検索バーがあります。 。そして、私は "従業員"の文字列を受け入れるHomeControllerのメソッドを持っていますか? –
user4660931
あなたのコードを見ることなく、良い提案をするのは難しいです。あなたの 'Index'メソッドは' searchField'と 'searchValue'のように2つのparmsを持つことができますし、各列の検索ボックスは' searchField'に別の値を使いますか?または、 'ViewModel'を使用し、より強く型付けされたデータを渡します。 –