質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Knockout.js

KnockoutJSは、Model-ViewView-Model(MVVM)を用いたダイナミックなHTML ULのためのオープンソースのJavaScriptライブラリです。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

5165閲覧

C#でjson形式でシリアル化されたクラス(DBデータ)をjavascriptのコードで読み込み方法を教えてください。

UekiKouji

総合スコア121

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Knockout.js

KnockoutJSは、Model-ViewView-Model(MVVM)を用いたダイナミックなHTML ULのためのオープンソースのJavaScriptライブラリです。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

1クリップ

投稿2016/04/29 09:22

開発環境
C#(VisualStudio2015)
Asp.net
Windows 10
Knockout.js
SQLServer2014
を利用しています。

DBから取得したデータを以下のクラスを利用し、メモリ上に保持したいと思っています。

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.Serialization; namespace Cs.Common.Models { [DataContract] public class Person { [DataMember] internal string name; [DataMember] internal int age; } }

Web上でいろいろ調べてみると、
WCFという機能を利用し、response,requestでjavascript上でデータのやり取りを行っているようです。
View上は、Knockout.jsを利用して、バインドしたいと考えています。

どのようにして、javascriptのコードにデータを渡したら、よいのか全くわからないので教えてください。
また、もっといい方法があれば、教えていただきたいです。
漠然とした質問ですいません。
サイトでもよいのでお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

###C#オブジェクトのJSON文字列化
ASP.NETでオブジェクトをJSONテキスト化する場合、.Net Framework 標準の DataContractJsonSerializer というクラスが使えます。

ただし、よく使われるのは Json.NET というオープンソースライブラリのようです。こちらのほうが処理速度が速いと言われています。Json.NET の使い方等については、下記のサイトが解りやすいです。

参考サイト

###JSON文字列をブラウザ側のJavaScriptに渡す方法
WCF自体はASP.NETでJSONを取り扱う上で必須ではないですし、おそらく難解すぎて先に進めなくなると思いますので、とりあえず忘れましょう。

JSON化するデータオブジェクトがASP.NETでページを生成する時点で存在しているのであれば、ページ初期化のタイミングで上記の方法でJSONテキスト化して、それをページに埋め込むことになります。

そうではなく、データオブジェクトがページ上のユーザー操作(ボタンクリック等)によって生成される場合、AJAX の仕組みを実装する必要があるかもしれません。素のASP.NETなのか、ASP.NET MVCなのかにより実装の方法はいろいろあります。

ご参考になれば。

投稿2016/04/29 10:09

編集2016/04/29 10:20
tkanda

総合スコア2425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

UekiKouji

2016/05/03 13:00

素のASP.NETなのか、ASP.NET MVCなのかにより実装の方法いろいろあるとあるのですが、どのようなものがあるのでしょうか。
UekiKouji

2016/05/04 11:02

ご回答ありがとうございます。 いろいろ調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問