コントローラーの追加 (VB)
作成者 : Rick Anderson
このチュートリアルでは、Microsoft Visual Studio の無料バージョンである Microsoft Visual Web Developer 2010 Express Service Pack 1 を使用して、ASP.NET MVC Web アプリケーションを構築する基本について説明します。 開始する前に、以下に示す前提条件がインストールされていることを確認してください。 これらのすべてをインストールするには、 Web プラットフォーム インストーラーのリンクをクリックします。 または、次のリンクを使用して、前提条件を個別にインストールすることもできます。
- Visual Studio Web Developer Express SP1 の前提条件
- ASP.NET MVC 3 ツールの更新
- SQL Server Compact 4.0(ランタイム + ツールのサポート)
Visual Web Developer 2010 ではなく Visual Studio 2010 を使用している場合は、Visual Studio 2010 の前提条件のリンクをクリックして前提条件をインストールします。
このトピックでは、ソース コード VB.NET 含む Visual Web Developer プロジェクトを使用できます。 VB.NET バージョンをダウンロードします。 C# を使用する場合は、このチュートリアルの C# バージョン に切り替えます。
MVC は model-view-controller を表します。 MVC は、アプリケーションを開発するためのパターンであり、各部分に個別の責任があります。
- モデル: アプリケーションのデータ。
- ビュー: アプリケーションが HTML 応答を動的に生成するために使用するテンプレート ファイル。
- コントローラー: アプリケーションへの受信 URL 要求を処理し、モデル データを取得し、クライアントへの応答をレンダリングするビュー テンプレートを指定するクラス。
このチュートリアルでは、これらすべての概念について説明し、それらを使用してアプリケーションを構築する方法について説明します。
ソリューション エクスプローラーの Controllers フォルダーを右クリックし、[コントローラーの追加] を選択して、新しいコントローラーを作成します。
新しいコントローラーに "HelloWorldController" という名前を 付け、[追加] をクリックします。
右側のソリューション エクスプローラーで、HelloWorldController.cs という名前の新しいファイルが作成され、そのファイルが IDE で開かれていることに注意してください。
新しい public class HelloWorldController
ブロック内に、次のコードのような 2 つの新しいメソッドを作成します。 例として、コントローラーから HTML の文字列を直接返します。
Namespace MvcMovie
Public Class HelloWorldController
Inherits System.Web.Mvc.Controller
Public Function Index() As String
Return "This is my default action..."
End Function
Public Function Welcome() As String
Return "This is the Welcome action method..."
End Function
End Class
End Namespace
コントローラーには という名前が付けられ HelloWorldController
、新しいメソッドの名前 Index
は です。 アプリケーションを実行します (F5 キーまたは Ctrl + F5 キーを押します)。 ブラウザーが起動したら、アドレス バーのパスに "HelloWorld" を追加します。 (私のコンピュータでは、 http://localhost:43246/HelloWorld
です)ブラウザーは次のスクリーンショットのようになります。 上記のメソッドでは、コードは文字列を直接返しました。 私たちはシステムにいくつかのHTMLを返すように言いました、そしてそれはしました!
ASP.NET MVC は、受信 URL に応じて異なるコントローラー クラス (およびその中の異なるアクション メソッド) を呼び出します。 ASP.NET MVC によって使用される既定のマッピング ロジックでは、次のような形式を使用して、呼び出されるコードを制御します。
/[Controller]/[ActionName]/[Parameters]
URL の最初の部分によって、実行するコントローラー クラスが決まります。 そのため 、/HelloWorld は クラスにマップされます HelloWorldController
。 URL の 2 番目の部分は、実行するクラスのアクション メソッドを決定します。 そのため、/HelloWorld/Index により、 クラスの メソッドがHelloWorldController
実行されますIndex
。 上記の /HelloWorld にのみアクセスする必要があり、メソッドが Index
既定で使用されていることに注意してください。 これは、 という名前 Index
のメソッドがコントローラーで明示的に指定されていない場合に呼び出される既定のメソッドであるためです。
http://localhost:xxxx/HelloWorld/Welcome
を参照します。 Welcome
メソッドが実行され、"This is the Welcome action method..." という文字列を返します。 既定の MVC マッピングは です /[Controller]/[ActionName]/[Parameters]
。 この URL の場合、コントローラーは HelloWorld
であり Welcome
、 メソッドです。 URL の部分はまだ使用 [Parameters]
していません。
URL からコントローラーにパラメーター情報を渡すことができるように、例を少し変更しましょう (たとえば、 /HelloWorld/Welcome?name=Scott&numtimes=4)。 次に示すように、メソッドを Welcome
変更して 2 つのパラメーターを含めます。 VB の省略可能なパラメーター機能を使用して、そのパラメーターに値が numTimes
渡されない場合は、パラメーターの既定値が 1 であることを示しました。
Public Function Welcome(ByVal name As String, Optional ByVal numTimes As Integer = 1) As String
Dim message As String = "Hello " & name & ", NumTimes is: " & numTimes
Return "" & Server.HtmlEncode(message) & ""
End Function
アプリケーションを実行し、 を参照しますhttp://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4
。と numtimes
に対してさまざまな値をname
試すことができます。 名前付きパラメーターは、アドレス バーのクエリ文字列からメソッド内のパラメーターに自動的にマップされます。
どちらの例でも、コントローラーは MVC の VC 部分 (ビューとコントローラーの動作) を実行しています。 コントローラーは HTML を直接返しています。 通常、HTML を直接返すコントローラーは必要ありません。これは、コード化が非常に面倒になるためです。 代わりに、通常、HTML 応答の生成に役立つ別のビュー テンプレート ファイルを使用します。 これを行う方法を見てみましょう。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示