前提
* 以下のJavascriptが必要。 + knockout.-x.x.x.js => なかったら、以下の環境設定を行う ※ knockout.jsについて、以下の関連記事を参照のこと。http://blogs.yahoo.co.jp/dk521123/35664953.html
準備:環境設定
http://blogs.yahoo.co.jp/dk521123/35596847.htmlで行ったNuGetでインストールする [1] Visual Studio で [ツール]-[NuGetパッケージ マネージャー]-[パッケージ マネージャー コンソール]を選択 [2] 以下のコマンドを入力する Install-Package knockoutjshttps://www.nuget.org/packages/knockoutjs/
サンプル
http://blog.shibayan.jp/entry/20111208/1323354859を参考にサンプル(VB.NET)を作成してみた
ビュー
* Index.vbhtml@Code ViewData("Title") = "Index" End Code <h2>Index</h2> <ul data-bind="foreach: items"> <li>名前: <span data-bind="text: name"></span>, 年齢: <span data-bind="text: age"></span></li> </ul> <script src="@Url.Content("~/Scripts/jquery-1.10.2.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/knockout-3.4.0.js")" type="text/javascript"></script> <script type="text/javascript"> $(function () { $.ajax({ type: 'GET', url: '@Url.Action("GetJson")', // アクセス先のURL }) .done(function (returnData) { var viewModel = { items: ko.observableArray(returnData) }; ko.applyBindings(viewModel); }); }); </script>
コントローラ
* SampleKnockoutController.vbImports System.Web.Mvc Namespace Controllers Public Class SampleKnockoutController Inherits Controller Function Index() As ActionResult Return View() End Function Function GetJson() As ActionResult Dim jsonData = New List(Of Object) From { New With {.name = "Mike", .age = 28}, New With {.name = "Tom", .age = 36}, New With {.name = "Smith", .age = 17} } Return Json(jsonData, JsonRequestBehavior.AllowGet) End Function End Class End Namespace
出力結果
•名前: Mike, 年齢: 28 •名前: Tom, 年齢: 36 •名前: Smith, 年齢: 17
参考文献
http://blog.shibayan.jp/entry/20111208/1323354859http://blog.shibayan.jp/entry/20140625/1403699408
Hello World Demo
http://knockoutmvc.com/HelloWorld
http://knockoutmvc.com/Home/Introduction