2017-03-31 3 views
1

私はMVCの動きを学ぶために使っている非常に単純なアプリケーションを持っています。そのアプリケーションでは、いくつかのデータを検索し、ビューのモデルとして使用するJSON文字列を返します。私は、画面上に表示するための一連のデータとしてJSONを消費するビューを取得する方法を理解できないようです。MVCアプリケーションのビューで使用するJSONデータを添付します。

私がこれまで持っているコード:

Function Find(term As String) As ActionResult 

    Dim model As String = SearchData(term) 

    Return View(model) 
End Function 

SearchDataはそれで一つまたは多くのオブジェクトを持つことができますJSON文字列を返します。

SearchDataから返されたJSONをビューで使用する方法を教えてください。実際、ビューを追加しようとすると、どのモデルを使用するかを知りたいと思っています。どのように私はまたそれを特定するのですか?

+0

データを保持する厳密に型指定されたクラスを作成し、強く型付けされたモデルにJSONを解析し、それをビューに渡します。ビューに強く型付けされたモデルがあることを知らせる。 – Nkosi

+0

ここではあなたのユースケースについては完全にはわかりませんが、学習しているASP.NET MVCの場合は、コントローラアクションからモデルをビューに戻す必要があると考えてください。あなたはすでにこのビットを知っているようです。しかし、ビューに文字列を返すのではなく、あなたの@modelとしてカミソリビューで使用できるカスタムオブジェクトまたはオブジェクトのコレクションを返すようにしています。 SearchData()から返されたJSON文字列をオブジェクトのコレクションに変換するには、オブジェクトへのJSON直列化の詳細を参照します。 hth。 –

答えて

1

JSON.Netのようなライブラリを使用して

Public Class Data 
    Public Property ID As Integer 
    Public Property Term As String 
    Public Property SomeProperty As String 
    Public Property SomeOtherProperty As String 
End Class 

を解析されたときにデータを保存するために厳密に型指定されたオブジェクトを作成し、JSONは、検索から返さ解析。

これは、データのコレクションが検索から返されることを前提としています。

Imports Newtonsoft.Json; 

Function Find(term As String) As ActionResult  
    Dim json As String = SearchData(term) 
    Dim model As List(Of Data) = JsonConvert.DeserializeObject(Of List(Of Data))(json) 
    Return View(model) 
End Function 

強く型付けされたモデルを期待するように見せてください。

+0

あなたが気に入っている人は、このサイトがすごく気に入りました!非常に役立つ説明をありがとう。あなたの方法は完全に機能し、今私は、他のもののためにこの仕事を進める方法を理解しています。 –

関連する問題