【ASP.NET MVC】【VB】ASP.NET MVC 5 ~ Hello World的なアプリ作成 ~

初めに

http://blogs.yahoo.co.jp/dk521123/25295663.html
で、簡単なアプリを作成したがMVC5になって、だいぶ変わったし、VBでやったことなかったので、やってみる

作成方法

[1] プロジェクトの作成

 [1] Visual Studio 2015 Express for Web を起動
 [2] [ファイル]-[新しいプロジェクト]-[テンプレート]-[Visual Basic]-[Web]-[ASP.NET Web アプリケーション]
     を選択し、名前とソリューション名を任意の名前で入力し、「OK」押下
 [3] [Empty(サンプル付きで良ければ[MVC])]を選択し、「MVC」にチェックをつけ、「OK」押下

[2] ファイルの追加

[2-1] Modelの追加

* 今回は普通にファイル追加する
 [1] フォルダ「Models」を右クリックし、[追加]-[新しい項目]-[Visual Basic]-[コード]-[クラス]を選択し、
     名前を指定(ここでは「HelloModel.vb」)とし、「追加」ボタン押下

[2-2] Controllerの追加

 [1] 「Controllers」を右クリックし、[追加]-[コントローラ]-[MVC Controller - Empty]で「追加」ボタン押下
 [2] Controller Nameを指定する(ここでは「HelloController」とする)

[2-3] Viewの追加

 [1] フォルダ「Views」に、コントローラと同じ名前のフォルダ(ここでは「Hello」)を作成するために
     「Views」を右クリックし、[新しいフォルダ]を選択
 [2] [1]で作成したフォルダ(ここでは「Views/Hello」)を右クリックし、[追加]-[ビュー]を選択
 [3] View Nameを指定する(ここでは「Index」とし、「Add」ボタン押下

[3] プログラムを書く

HelloModel.vb

* モデル
Namespace Models
    Public Class HelloModel
        Private Property _Greeting As String
        Private Property _Name As String

        Public Property Greeting As String
            Get
                Return Me._Greeting
            End Get
            Set(ByVal value As String)
                Me._Greeting = value
            End Set
        End Property

        Public Property Name As String
            Get
                Return Me._Name
            End Get
            Set(ByVal value As String)
                Me._Name = value
            End Set
        End Property
    End Class
End Namespace

HelloController.vb

* コントローラ
Imports System.Web.Mvc
Imports WebAppli.Models

Namespace Controllers
    Public Class HelloController
        Inherits Controller

        ' GET: Sample
        Function Index() As ActionResult
            ' データ受け渡し(おまけ)
            ViewData("Message") = "ASP.NET MVC へようこそ"

            ' データ受け渡し(モデル)
            Dim model As HelloModel = New HelloModel()
            model.Greeting = "Hello"
            model.Name = "Mike"

            Return View(model)
        End Function
    End Class
End Namespace

Index.vbhtml

* ビュー
@ModelType WebAppli.Models.HelloModel

@Code
    ViewData("Title") = "IndexView"
End Code

<h2>Index</h2>
@ViewData("Message")

<h4>@Model.Greeting, @Model.Name!!</h4>

[4] 実行する

 [1] [2-2]で作成したViewファイル(ここでは「Views/Hello/Index.vbhtml」)を選択した状態で右クリックし、
     [ブラウザで表示する]を選択

実行後の画面(一部)

* ブラウザから http://localhost:XXXXX/Hello/Index にアクセスすると、以下が表示される
Index
ASP.NET MVC へようこそ
Hello, Mike!!

補足:トラブルシューティング

 * エラーが出た場合、以下を参考に。。。
http://blogs.yahoo.co.jp/dk521123/35419775.html


関連記事

C#ASP.NET MVC 2 ~ Hello World的なアプリ作成 ~

http://blogs.yahoo.co.jp/dk521123/25295663.html

VB】データを受け渡すには...

http://blogs.yahoo.co.jp/dk521123/25390373.html