PROGRAM VISUALBASIC

ASP.NET(VB.NET) MVCモデル入門~一覧画面に検索処理を追加する

入力した文字列を指定したカラムから検索するプログラム

今回は、一覧画面に検索処理を追加します。
画面のイメージは、以下のようになります。
左から順に、検索文字列を入力するテキストボックス、検索カラムを選択するドロップダウンリスト、検索実行ボタン、検索結果を初期化するクリアボタンです。

vbmvc18-1
画面イメージ

マイクロソフトの公式サイトにも、MVCでの検索処理の記事がありますので、参考にしてください。

新規プロジェクトの作成

新規にプロジェクトを作成します。
今回のサンプルプログラムでは、プロジェクト名を「Test6」として作成します。
プロジェクトの作成方法は、こちらの記事を参照してください。

データベースの作成

今回のプロジェクトで使用するデータベースを作成します。
データベースの仕様、作成方法は、こちらの記事を参照してください。

ADO.NET Entity Data Modelの作成

データベースを作成したら、VB.NETとデータベースを接続するために、ADO.NET Entity Data Modelを作成します。
モデル名は、「TestDbModel」とします。
ADO.NET Entity Data Modelの作成方法は、こちらの記事を参照してください。

Empクラスにアノテーションを追加

自動で作成されたEmpクラスの各プロパティに、アノテーションを追加します。
また、Birthdayプロパティに、表示フォーマットを追加します。

データベース操作用クラスの作成

データベースを操作するためのクラスを、「DbModel.vb」という名前で、「Data」フォルダーの配下に作成します。
「Data」フォルダーは、あらかじめ作成しておきます。
このクラスの中に、同じ名前のメソッドをオーバーロードして作成します。
引数なしのメソッドは、全データを取得し、引数ありのメソッドは、検索してヒットしたデータを取得します。
引数は、テキストボックスに入力した検索文字列(value)と、検索するカラム(column)です。

コントローラーの作成

一覧画面用のコントローラーを作成します。
ここで、SelectListItem()メソッドを使って、ドロップダウンリストの内容を定義します。
オプションのSelectedを使って、「氏名」をデフォルトで選択するようにします。
Search()メソッドは、ビューの検索ボタンが押された時に呼び出されます。
SelectListItem()メソッドの詳しい内容は、以下のマイクロソフトの公式サイトを参照してください。

ビューの作成

一覧画面用のビューを作成します。
6行目から11行目で、検索用のフォームを作ります。
クリアボタンを押下した時は、JavaScriptの関数を呼び出します。

JavaScriptの作成

クリアボタンを押下した時に、初期一覧画面になるようにJavaScriptを作成します。
location.hrefに「/Home/Index」と指定すると、HomeControllerのIndex()メソッドが呼び出されます。

表示レイアウトの編集

ビューを作成すると、自動的に「Views/Shared/_Layout.vbhtml」が作成されるので、これを以下のように編集します。

スタイルシートの修正

スタイルシート(Site.css)を修正します。
ここでは、テーブルの装飾や検索項目の位置調整を行います。

プログラムの実行

検索用入力ボックスに検索したい文字列を入力し、検索するカラムを選択します。
選択するカラムは、以下のようにドロップダウンリストになっています。

vbmvc18-4
ドロップダウンリスト

下図は、「東京都」で「住所」カラムを検索した結果です。

vbmvc18-5
検索結果

-PROGRAM, VISUALBASIC
-, ,