カテゴリー
Microsoft

【ASP.NET MVC5】ちょっとしたお試しをするときに土台となるアプリの作り方チュートリアル

2016年8月16日追記: 本投稿のコードをアップいたしました。

追記: 【ASP.NET】【MVC5】お試しウェブアプリチュートリアルのエラーを解決 – oki2a24 で説明した通り、エラーを回避するために手順を一部変更しております。

サンプルアプリ概要

MVC 関係

  • スキャフォールディングで各テーブルのコントローラー、ビューをぱっと作って済ませる。
  • 認証なし

データベース関係

  • データベース名: ApplicationDb
  • テーブル
    • Parents
    • Children
    • Sexes ← 男、女が入っているだけのマスタテーブル
  • リレーション
    • Parents 1-n Children
    • Parents n-1 Sexes
    • Children n-1 Sexes
  • レコードから見るテーブルのリレーション表現は
    • Parents には Children 関係のカラムは無い。
    • Children は ParentsId カラムを持ち、親を指定する。
    • Parents と Children は SexId を持ち、性別を指定する。
    • Sexes には、他テーブル関係のカラムは無い。

それでは実際に作っていきましょう♪

カテゴリー
Microsoft

【ASP.NET MVC5】log4net の導入手順メモ♪

ロギングのライブラリ、log4net を使う理由

ログのライブラリを使う理由は、次の2つです。

  • ファイルのロック、排他制御をしてくれる
  • 自動的にローテーションをしてくれる

log4netNLog の2種類がメジャーなようです。

  • log4net の方が歴史が長く、インターネット上の知見が多い。
  • log4net の方が「枯れた技術」となっていそう。
  • NLog の方が更新されている。
  • NLog の方がパフォーマンスが優れている、というページがある。

今回は、歴史とノウハウが大きいという理由で log4net を採用いたしました。

では早速導入手順を残してまいります。2種類のやり方を解説いたします。

どちらもASP.NET MVC5 プロジェクトを作成し、アクティブになっている状態からスタートです♪

【log4net を ASP.NET MVC5 プロジェクトに導入する方法1】Web.config にログ設定を書くやり方

カテゴリー
Microsoft

【ASP.NET MVC5】モデルの bool プロパティをビューでラジオボタン表示するサンプル♪

Index や Details、Delete の確認画面での表示の様子
Index や Details、Delete の確認画面での表示の様子

Create と Edit での表示の様子
Create と Edit での表示の様子

本投稿のサンプル内容

  • ソリューション名: Test1
  • プロジェクト名: Test1
  • ASP.NET Web アプリケーション Visual C#
  • ASP.NET 4 の、MVC
  • 認証: なし
  • モデル Person
  • Person のコントローラー PeopleController をスキャフォールディングで作成

モデルのプロパティで、型が bool のもので、次の 3 パターンの例を作成します。

  • Sex: 性別。チェックボックス。チェック有りがどちらで、チェック無しがどちらかは、補足しないと判別が難しそう。
    スキャフォールディング時のデフォルト。
  • IsRightHanded: 利き手。新規作成や編集のフォームはラジオボタンで「右利き」「左利き」を選択する。一覧や詳細では、「右利き」「左利き」を表示する。
    そうするために、コードを書く。本投稿のメイン。
  • IsActive: 有効かどうか。ドロップダウンリスト。自動的にドロップダウンリストが表示されるが、選択肢は「Not Set」「True」「False」であり、変更方法が不明なため使い途が難しい。
カテゴリー
Microsoft

【ASP.NET MVC5】チュートリアルの Data Source には MSSQLLocalDB を指定すること!【Visual Studio 2015】

Web.config の データベース接続文字列のポイント

  • <connectionStrings> の Data Source
  • (LocalDb)\v11.0; だと繋がらず、エラーとなる。
  • (LocalDb)\MSSQLLocalDB; とする。
カテゴリー
Microsoft

【ASP.NET MVC5】input type=”date” に初期値を設定する時のモデルの属性指定

ポイント

  • データベースから取得した年月日をビューに渡しても、ウェブブラウザに表示できなかったのが発端
  • input タグの value のフォーマットを yyyy-MM-dd と指定する必要があった。

コード例

  • [DataType(DataType.Date)] と指定することで、ビューの EditorFor の input type は自動的に date となる。
  • DisplayFormat の DataFormatString を “{0:yyyy-MM-dd}” と指定することで、input の value が 2015-10-07 といったフォーマットになる。
  • DisplayFormat の ApplyFormatInEditMode を true と指定することで、フォームの年月日を修正しても yyyy-MM-dd のフォーマットが保たれる。

モデルのプロパティ「誕生日」を例にしたコード

[DisplayName("誕生日")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime BirthDay { get; set; }